如何用python自动发邮箱
小编给大家分享一下如何用python自动发邮箱,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
正文废话不多说,直接上代码。
一、普通文本邮件(作通知训练结束用 :smiley: )#-*-coding:UTF-8-*-importsmtplibfromemail.mime.textimportMIMEText#第三方SMTP服务mail_host="smtp.163.com"#SMTP服务器mail_user="yourname"#用户名mail_pass="xxx"#密码(这里的密码不是登录邮箱密码,而是授权码)sender='yourname@163.com'#发件人邮箱receivers='othername@163.com']#接收人邮箱content='PythonSendMail!训练结束!'title='PythonSMTPMail训练结束'#邮件主题message=MIMEText(content,'plain','utf-8')#内容,格式,编码message['From']="{}".format(sender)message['To']=",".join(receivers)message['Subject']=titletry:smtpObj=smtplib.SMTP_SSL(mail_host,465)#启用SSL发信,端口一般是465smtpObj.login(mail_user,mail_pass)#登录验证smtpObj.sendmail(sender,receivers,message.as_string())#发送print("mailhasbeensendto{0}successfully.".format(receivers))exceptsmtplib.SMTPExceptionase:print(e)二、加强版附件传输邮件
#-*-coding:UTF-8-*-importsmtplibfromemail.mime.textimportMIMETextfromemail.mime.multipartimportMIMEMultipartfromemail.headerimportHeader#Files'Paths:file1='mail.py'file2='maill.py'#收邮件的地址,可以多个。Receivers=['receiver1@163.com','receiver2@163.com']#邮件主题:title='PythonSMTP邮件(文件传输)'#模拟服务器#SMTP服务器SMTPServer="smtp.163.com"#发邮件的地址Sender="yourname@163.com"#发送者邮件的授权密码,去163邮箱设置里获取。并非是密码。passwd="xxx"#创建一个带附件的实例message=MIMEMultipart()message['From']=Sendermessage['To']=",".join(Receivers)message['Subject']=title#邮件正文内容message.attach(MIMEText('附件中是要传输的文件。\n','plain','utf-8'))message.attach(MIMEText('Thefilesyouneedareasfollowed.\n','plain','utf-8'))#构造附件1att1=MIMEText(open(file1,'rb').read(),'base64','utf-8')att1["Content-Type"]='application/octet-stream'att1["Content-Disposition"]='attachment;filename={0}'.format(file1)message.attach(att1)#构造附件2att2=MIMEText(open(file2,'rb').read(),'base64','utf-8')att2["Content-Type"]='application/octet-stream'att2["Content-Disposition"]='attachment;filename={0}'.format(file2)message.attach(att2)try:mailServer=smtplib.SMTP(SMTPServer,25)#25为端口号(邮件),0-1024都被系统占用了#登录邮箱mailServer.login(Sender,passwd)#需要的是,邮箱的地址和授权密码#发送文件mailServer.sendmail(Sender,Receivers,message.as_string())print("邮件发送成功")print("Mailwith{0}&{1}hasbeensendto{2}successfully.".format(file1,file2,Receivers))exceptsmtplib.SMTPExceptionase:print("Error:无法发送邮件")print(e)后话
可以把代码加到网络train.py的最后,别忘了在train.py的开头加上:
#-*-coding:UTF-8-*-importsmtplibfromemail.mime.textimportMIMETextfromemail.mime.multipartimportMIMEMultipartfromemail.headerimportHeader
然后你就可以专心忙自己的事情,网络训练结束就自动发邮件啦~
看完了这篇文章,相信你对如何用python自动发邮箱有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。