我这里使用的qq邮箱服务器,所以运行之前应先把qq邮箱中的相应服务打开;
#发送文本邮件
import smtplib
from email.mime.text import MIMEText
from email.header import Header
sender='[email protected]'
pwd='xxxxxxxx'#在开通相关的服务是会给你相应的密码,不是你自己登陆qq的密码
receivers=['[email protected]','[email protected]']#收件人的邮箱
#三个参数:第一个为文本内容,第二个为plain设置文本格式,第三个utf-8设置编码
message=MIMEText('PYTHON 测试发送邮件。。。。。','plain','utf-8')
#标准邮件需要3个头部信息
message['From']=Header("邮件测试",'utf-8')#发件人
message['To']=Header("测试",'utf-8')#收件人
message['Subject']=Header('Python SMTP邮件测试','utf-8')#邮件标题
try:
#使用非本地服务器,需要使用ssl连接
smtpObj=smtplib.SMTP_SSL("smtp.qq.com",465)
smtpObj.login(sender,pwd)#登录第三方服务器
smtpObj.sendmail(sender,receivers,message.as_string())
print("邮件发送成功")
except smtplib.SMTPException as e:
print("Error: 无法发送邮件,因为:%s"% e)
#发送带附件的邮件
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
sender='[email protected]'
pwd='XXXXXXXXXXXXXXX'#开通邮箱服务后,设置客户端的授权密码
receivers=['[email protected]']#收件人的邮箱
#创建一个带附件的实例
message=MIMEMultipart("related")
# #三个参数:第一个为文本内容,第二个为plain设置文本格式,第三个utf-8设置编码
# message=MIMEText('PYTHON 测试发送邮件。。。。。','plain','utf-8')
#标准邮件需要3个头部信息
message['From']=Header("邮件测试",'utf-8')#发件人
message['To']=Header("测试",'utf-8')#收件人
message['Subject']=Header('Python SMTP邮件测试','utf-8')#邮件标题
#邮件正文
message.attach(MIMEText('PYTHON 测试发送邮件。。。。。','plain','utf-8'))
#构造附件1,传送当前目录下的text1.txt文件
att1=MIMEText(open('test1.txt','rb').read(),'base64','utf-8')
att1["Content-Type"]='application/octet-stream'
att1["Content-Disposition"]='attachment;filename="zxj.txt"'
message.attach(att1)
#构造附件2,传送当前目录下的图片
fp=open('text.jpg','rb')
msgImage=MIMEImage(fp.read())
fp.close()
msgImage.add_header('Content-ID','<1>')
message.attach(msgImage)
#发送html格式的文本并有图片嵌入,此时,前面的邮件正文变成附近发送
msgAlternative=MIMEMultipart("alternative")
mail_msg="""Python 邮件测试
图片实例:
"""
msgAlternative.attach(MIMEText(mail_msg,'html','utf-8'))
message.attach(msgAlternative)
try:
#使用非本地服务器,需要使用ssl连接
smtpObj=smtplib.SMTP_SSL("smtp.qq.com",465)
smtpObj.login(sender,pwd)#登录第三方服务器
smtpObj.sendmail(sender,receivers,message.as_string())
print("邮件发送成功")
except smtplib.SMTPException as e:
print("Error: 无法发送邮件,因为:%s"% e)