利用Python发送邮件或发带附件的邮件
本文使用的是163邮件进行测试。
注:163邮箱现在需要使用 客户端授权码 进行测试,不再支持邮箱密码进行测试。
1、使用Python发Text邮件
importsmtplib
#发送字符串的邮件
fromemail.mime.textimportMIMEText
#设置服务器所需信息
fromEmailAddr='发件人邮箱地址'#邮件发送方邮箱地址
password='emailpassword'#密码(部分邮箱为授权码)
toEmailAddrs=['接收方地址']#邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发
#设置email信息
#---------------------------发送字符串的邮件-----------------------------
#邮件内容设置
message=MIMEText('hello,testPythonsendEmail.','plain','utf-8')
#邮件主题
message['Subject']='pythontestemail'
#发送方信息
message['From']=fromEmailAddr
#接受方信息
message['To']=toEmailAddrs[0]
#---------------------------------------------------------------------
#登录并发送邮件
try:
server=smtplib.SMTP('smtp.163.com')#163邮箱服务器地址,端口默认为25
server.login(fromEmailAddr,password)
server.sendmail(fromEmailAddr,toEmailAddrs,message.as_string())
print('success')
server.quit()
exceptsmtplib.SMTPExceptionase:
print("error:",e)
2、使用Python发送带附件的邮件
importsmtplib
#发送字符串的邮件
fromemail.mime.textimportMIMEText
#需要MIMEMultipart类
fromemail.mime.multipartimportMIMEMultipart
#设置服务器所需信息
fromEmailAddr='发件人邮箱地址'#邮件发送方邮箱地址
password='emailpassword'#密码(部分邮箱为授权码)
toEmailAddrs=['收件人地址']#邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发
#设置email信息
#---------------------------发送带附件邮件-----------------------------
#邮件内容设置
message=MIMEMultipart()
#邮件主题
message['Subject']='pythontestemail'
#发送方信息
message['From']=fromEmailAddr
#接受方信息
message['To']=toEmailAddrs[0]
#邮件正文内容
message.attach(MIMEText('hello,testPythonsendEmail','plain','utf-8'))
#构造附件
att1=MIMEText(open('text.txt','rb').read(),'base64','utf-8')
att1['Content-type']='application/octet-stream'
att1['Content-Disposition']='attachment;filename="test.zip"'
message.attach(att1)
#---------------------------------------------------------------------
#登录并发送邮件
try:
server=smtplib.SMTP('smtp.163.com')#163邮箱服务器地址,端口默认为25
server.login(fromEmailAddr,password)
server.sendmail(fromEmailAddr,toEmailAddrs,message.as_string())
print('success')
server.quit()
exceptsmtplib.SMTPExceptionase:
print("error:",e)
以上就是利用Python发送邮件或发带附件的邮件的详细内容,更多关于python发送邮件的资料请关注毛票票其它相关文章!