使用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中怎么动态声明变量赋值
这篇文章将为大家详细讲解有关Python中怎么动态声明变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中变量的存储原理是什么
-
Python中怎么引用传递变量赋值
这篇文章将为大家详细讲解有关Python中怎么引用传递变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中怎么获取程序执行文件路径
python中怎么获取程序执行文件路径,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的...
-
Python中如何获取文件系统的使用率
Python中如何获取文件系统的使用率,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴...
-
Python中怎么获取文件的创建和修改时间
这篇文章将为大家详细讲解有关Python中怎么获取文件的创建和修改时间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读...
-
python中怎么获取依赖包
今天就跟大家聊聊有关python中怎么获取依赖包,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据...
-
python怎么实现批量文件加密功能
-
python中怎么实现threading线程同步
小编给大家分享一下python中怎么实现threading线程同步,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!...
-
python下thread模块创建线程的方法
本篇内容介绍了“python下thread模块创建线程的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来...