利用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发送邮件的资料请关注毛票票其它相关文章!