利用python自动发邮箱

图片[1]-利用python自动发邮箱-uusu优素-乐高,模型,3d打印,编程

正文

废话不多说,直接上代码。

一、普通文本邮件(作通知训练结束用 :smiley: )

#-*-coding:UTF-8-*-
importsmtplib
fromemail.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']=title

try:
smtpObj=smtplib.SMTP_SSL(mail_host,465)#启用SSL发信,端口一般是465
smtpObj.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-*-
importsmtplib
fromemail.mime.textimportMIMEText
fromemail.mime.multipartimportMIMEMultipart
fromemail.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']=Sender
message['To']=",".join(Receivers)
message['Subject']=title
#邮件正文内容
message.attach(MIMEText('附件中是要传输的文件。\n','plain','utf-8'))
message.attach(MIMEText('Thefilesyouneedareasfollowed.\n','plain','utf-8'))
#构造附件1
att1=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)
#构造附件2
att2=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-*-
importsmtplib
fromemail.mime.textimportMIMEText
fromemail.mime.multipartimportMIMEMultipart
fromemail.headerimportHeader
更多python相关文章请关注python自学网。
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容