使用Python怎么实现邮件发送功能

使用Python怎么实现邮件发送功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

#encoding:utf-8
importlogging
importsmtplib
fromemail.mime.textimportMIMEText
importemail.utils
fromdatetimeimportdatetime
_logger=logging.getLogger('utils.mailclient')
classMailClient(object):
def__init__(self,host,port,user,pwd=''):
self._host=host
self._port=port
self._user=user
self._pwd=pwd
self._smtp_server=None
self._debug=False
self._keepalive=True
defset_keepalive(self,keepalive):
self._keepalive=keepalive
defset_debug(self,debug):
self._debug=debug
ifself._smtp_serverisnotNone:
self._smtp_server.set_debuglevel(self._debug)
def_connect(self):
ifself._smtp_serverisNone:
_smtp_server=smtplib.SMTP(self._host,self._port)
_smtp_server.ehlo()
_smtp_server.starttls()
_smtp_server.set_debuglevel(self._debug)
ifself._pwd:
_smtp_server.login(self._user,self._pwd)
self._smtp_server=_smtp_server
returnself._smtp_server
def_dispose(self):
ifself._smtp_serverisnotNone:
self._smtp_server.quit()
self._smtp_server=None
defsend(self,to_addrs,subject,content,isdispose=True):
_smtp_server=self._connect()
ifnotisinstance(to_addrs,list):
to_addrs=[to_addrs]
_msg=MIMEText(content,'html','utf-8')
_msg['Subject']=subject
_msg['From']=self._user
_msg['To']=';'.join(to_addrs)
_msg['Date']=datetime.now().strftime('%Y-%d-%m%H:%M:%S')
_smtp_server.sendmail(self._user,to_addrs,_msg.as_string())
isdisposeand(notself._keepalive)andself._dispose()
defsend_mails(self,mails):
_smtp_server=self._connect()
formailinmails:
self._send_mail(mail.get('to'),mail.get('subject'),mail.get('content'),False)
(notself._keepalive)andself._dispose()
defclose(self):
self._dispose()
if__name__=='__main__':
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s%(name)s%(levelname)s:%(message)s',
datefmt='%Y-%m-%d%H:%M:%S')
importtime
s=MailClient('smtp.qq.com',587,'10010@qq.com','授权码')#注意,此处端口要用587,465端口是ssl使用的。
s.set_keepalive(False)
s.set_debug(True)
st=time.time()
s.send('收信人邮箱地址','测试','测试邮件FromQQ')#要发送的账号、标题、内容
print(time.time()-st)

看完上述内容,你们掌握使用Python怎么实现邮件发送功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!

使用Python怎么实现邮件发送功能

发布于 2021-04-15 01:56:34
收藏
分享
海报
0 条评论
179
上一篇:使用JavaScript怎么实现一个小火箭发射动画效果 下一篇:商品房和住宅房的区别是什么
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码