介绍
使用Python怎么实现邮件发送功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
#,编码:utf - 8 import 日志 import smtplib 得到email.mime.text import  MIMEText import email.utils 得到datetime import  datetime 时间=_logger logging.getLogger (& # 39; utils.mailclient& # 39;) class MailClient(对象): def 才能;__init__(自我,,主机,港口,用户,pwd=& # 39; & # 39;): ,,,self._host =,主机 ,,,self._port =,端口 ,,,self._user =用户 ,,,self._pwd =pwd ,,,self._smtp_server =,没有 ,,,self._debug =False ,,,self._keepalive =,真的 def 才能set_keepalive(自我,,keepalive): ,,,self._keepalive =keepalive def 才能set_debug(自我,调试): ,,,self._debug =,调试 ,,,if self._smtp_server is not 没有: ,,,,,self._smtp_server.set_debuglevel (self._debug) def 才能_connect(自我): ,,,if self._smtp_server is 没有: ,,,,,_smtp_server =, smtplib.SMTP (self._host, self._port) ,,,,,_smtp_server.ehlo () ,,,,,_smtp_server.starttls () ,,,,,_smtp_server.set_debuglevel (self._debug) ,,,,,if self._pwd: ,,,,,,,_smtp_server.login (self._user, self._pwd) ,,,,,self._smtp_server =_smtp_server ,,,return self._smtp_server def 才能_dispose(自我): ,,,if self._smtp_server is not 没有: ,,,,,self._smtp_server.quit () ,,,,,self._smtp_server =,没有 def 才能发送(自我,to_addrs,,,,内容,isdispose=True): ,,,_smtp_server =, self._connect () ,,,if not isinstance (to_addrs,列表): ,,,,,to_addrs =, (to_addrs) ,,,_msg =, MIMEText(内容,& # 39;html # 39;,, & # 39; utf - 8 # 39;) ,,,_msg[& # 39;主题# 39;],=, ,,,_msg[& # 39;从# 39;],=self._user ,,,_msg[& # 39;使# 39;],=,& # 39;,,. join (to_addrs) & # 39; ,,,_msg[& # 39;日期# 39;],=,datetime.now () .strftime (& # 39; Y % - % d % m % H: % M: % & # 39;) ,,,_smtp_server.sendmail (self._user, to_addrs,, _msg.as_string ()) ,,,isdispose 以及(not self._keepalive),以及self._dispose () def 才能send_mails(自我,,邮件): ,,,_smtp_server =, self._connect () ,,,for mail 拷贝邮件: ,,,,,self._send_mail (mail.get(& # 39;使# 39;),,mail.get(& # 39;主题# 39;),,mail.get(& # 39;内容# 39;),,假) ,,,(not self._keepalive),以及self._dispose () def 才能关闭(自我): ,,,self._dispose () if __name__ ==, & # 39; __main__ # 39;: logging.basicConfig (=logging.DEBUG水平,才能 ,,,,,,,,,,,格式=& # 39;% (asctime) s %(名字)s % (levelname): % & # 39;(消息), ,,,,,,,,,,,datefmt=& # 39; Y % - % - % d % H: m %: % & # 39; import 才能;时间 s 才能=,MailClient (& # 39; smtp.qq.com& # 39;,, 587,, & # 39; 10010 @qq.com& # 39;,, & # 39;授权码& # 39;),#,,注意,此处端口要用587465端口是ssl使用的。 s.set_keepalive才能(假) s.set_debug才能(真正的) 时间=st 才能;time.time () s.send才能(& # 39;收信人邮箱地址& # 39;,,& # 39;测试& # 39;,,& # 39;测试邮件,得到qq # 39;), #要发送的账号,标题,内容 打印才能(time.time(),安康;st)
看完上述内容,你们掌握使用Python怎么实现邮件发送功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!