#!/usr/bin/envpython
#-*-coding:utf-8-*-
#导入smtplib和MIMEText
importsmtplib,sys
fromemail.mime.textimportMIMEText
defsend_mail(sub,content):
#############
#要发给谁,这里发给1个人
mailto_list=["[email protected]"]
#####################
#设置服务器,用户名、口令以及邮箱的后缀
mail_host="mail.gyyx.cn"
mail_user="[email protected]"
mail_pass="123456677890"
mail_postfix="gyyx.cn"
######################
'''''
to_list:发给谁
sub:主题
content:内容
send_mail("[email protected]","sub","content")
'''
me=mail_user+"<"+mail_user+"@"+mail_postfix+">"
msg=MIMEText(content,_charset='gbk')
msg['Subject']=sub
msg['From']=me
msg['To']=";".join(mailto_list)
try:
s=smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me,mailto_list,msg.as_string())
s.close()
returnTrue
exceptException,e:
printstr(e)
returnFalse
if__name__=='__main__':
ifsend_mail(u'这是python测试邮件',u'python发送邮件'):
printu'发送成功'
else:
printu'发送失败'
❷ 如何用python发送email
有好几个模块,可以实现.
这里用smtplib和email来实现了一个简单的不带附件的邮件发送
以163邮件为服务邮箱配置的。
#coding:utf-8
importsmtplib
fromemail.mime.textimportMIMEText
fromemail.mime.multipartimportMIMEMultipart
importsys
reload(sys)
sys.setdefaultencoding("utf8")
#配置收发件人,可以发送给多个
recvaddress=['[email protected]','xxx@qq.com']
#163的用户名和密码,修改为你自己的
sendaddr_name='[email protected]'
sendaddr_pswd='your_password'
classSendMail:
def__init__(self,recver=None):
"""接收邮件的人:listortuple"""
ifrecverisNone:
self.sendTo=recvaddress
else:
self.sendTo=recver
defsend(self,sub,content):
"""发送邮件"""
self.msg=MIMEMultipart()
#设置发送邮件
self.msg['from']=sendaddr_name
try:
#设置邮箱服务器
smtp=smtplib.SMTP('smtp.163.com',25)
#登录
smtp.login(sendaddr_name,sendaddr_pswd)
#设置发送主题
self.msg['Subject']=sub
#设置邮件内容
self.msg.attach(MIMEText(content))
#发送邮件
smtp.sendmail(self.msg['from'],self.sendTo,self.msg.as_string())
smtp.close()
print(u"发送邮件成功")
exceptException,e:
print(u'发送邮件失败:'+str(e))
raise
#调用
s=SendMail()
subject="主题"
content="这里是邮件内容"
s.send(subject,content)