python自动化处理邮件
准备:将邮件开通smtp服务
from smtplib import SMTP_SSL from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.header import Header # # #基础信息 host_server ='smtp.sina.cn' #邮箱SMTP服务器 sender ='****@sina.cn' #sender_sina pwd ='***' receiver ='31321127@qq.com' mail_title ='这是用python自动化发的邮件标题' mail_content ='邮件内容' # #装载主体 msg =MIMEMultipart() #邮件主体 msg["Subject"]=Header(mail_title,'utf-8') msg["From"]=sender msg["To"]=Header('测试邮箱','utf-8') msg.attach(MIMEText(mail_content,'plain','utf-8')) # 发送 smtp =SMTP_SSL(host_server) #ssl登录 smtp.login(sender,pwd) smtp.sendmail(sender,receiver,msg.as_string()) smtp.quit()
发送带格式的 eg:使用html格式
import smtplib from smtplib import SMTP_SSL from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.header import Header # # #基础信息 host_server ='smtp.sina.cn' #邮箱SMTP服务器 sender ='***@sina.cn' #sender_sina pwd ='****' receiver ='31321127@qq.com' mail_title ='这是用python自动化发的邮件标题' mail_content =' 你好, <a href="http://www.baidu.com"><P>这是百度地址</p></a>' # #装载主体 msg =MIMEMultipart() #邮件主体 msg["Subject"]=Header(mail_title,'utf-8') msg["From"]=sender msg["To"]=Header(receiver,'utf-8') msg.attach(MIMEText(mail_content,'html','utf-8')) try: # 发送 smtp = SMTP_SSL(host_server) # ssl登录 smtp.login(sender, pwd) # smtp.set_debuglevel(1) #邮件发送调试信息 smtp.sendmail(sender, receiver, msg.as_string()) print('发送成功') smtp.quit() except smtplib.SMTPException as e: print(e)
# Author zxm # # import smtplib from smtplib import SMTP_SSL from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.header import Header from email.mime.application import MIMEApplication #添加附件 # # #基础信息 host_server ='smtp.sina.cn' #邮箱SMTP服务器 sender ='***@sina.cn' #sender_sina pwd ='***' receiver ='31321127@qq.com' mail_title ='这是用python自动化发的邮件标题' mail_content =' 你好, <a href="http://www.baidu.com"><P>这是百度地址</p></a>' # #装载主体 msg =MIMEMultipart() #邮件主体 msg["Subject"]=Header(mail_title,'utf-8') msg["From"]=sender msg["To"]=Header(receiver,'utf-8') msg.attach(MIMEText(mail_content,'html','utf-8')) #添加附件 path ="D:/autoOffice/李四粮食-价格通知.pdf" file =MIMEApplication(open(path,'rb').read()) file.add_header('Content-Disposition','attachment',filename='李四粮食-价格通知.pdf') msg.attach(file) try: # 发送 smtp = SMTP_SSL(host_server) # ssl登录 smtp.login(sender, pwd) # smtp.set_debuglevel(1) #邮件发送调试信息 smtp.sendmail(sender, receiver, msg.as_string()) print('发送成功') smtp.quit() except smtplib.SMTPException as e: print(e)
说完发,然后说收
准备:pip install zmail
import zmail server =zmail.server('***@sina.cn','***') mail =server.get_latest() # zmail.show(mail) print(mail['subject']) print(mail['id']) print(mail['from']) print(mail['to']) # print(mail['content_text']) # print(mail['content_html']) zmail.save_attachment(mail,target_path=None,overwrite=True) #拿附件