1. 程式人生 > >python發郵件

python發郵件

cati gpo () {} user ase htm 質量 passwd

使用自動發送郵件功能,添加附件(圖片,文件等)

# hanbb
# come on!!!
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
from email.mime.image import MIMEImage
import os

# 基礎信息構建
msg_from = ‘填發送的郵箱
# 發送方郵箱 passwd = ‘填密碼 # 填入發送方郵箱的授權碼(密碼) msg_to = ‘填收件的郵箱 # 收件人郵箱 # 郵件對象 msg = MIMEMultipart() msg[From] = Header(程序小冰) # 收件顯示的標題 msg[To] = Header(msg_to) subject = "python郵件測試" # 主題 msg[Subject] = Header(subject,utf-8) ### 郵件中添加鏈接 和 圖片 mail_msg = """ <p>Python 郵件發送測試...</p> <p><a href="http://www.csindex.com.cn/">中證指數</a></p> <p>圖片演示:</p> <p><img src="cid:image1"></p>
""" msg.attach(MIMEText(mail_msg, html, utf-8)) # 指定圖片為當前目錄 fp = open("C:\\Users\\HBB\\Desktop\\中證1208.png", rb) msgImage = MIMEImage(fp.read()) fp.close() # 定義圖片 ID,在 HTML 文本中引用 msgImage.add_header(Content-ID, <image1>) msg.attach(msgImage) ### # 郵件正文是MIMEText: content = "這是程序小冰使用python程序發送的文件
" msg.attach(MIMEText(content, plain, utf-8)) # 首先是xlsx類型的附件 xlsxpath = C:\\Users\\HBB\\Desktop\\質量分數.xlsx xlsxpart = MIMEApplication(open(xlsxpath, rb).read()) xlsxpart.add_header(Content-Disposition, attachment, filename={}.format(os.path.basename(xlsxpath))) msg.attach(xlsxpart) # jpg類型的附件 jpgpath = C:\\Users\\HBB\\Desktop\\mayi.png jpgpart = MIMEApplication(open(jpgpath, rb).read()) jpgpart.add_header(Content-Disposition, attachment, filename={}.format(os.path.basename(jpgpath))) msg.attach(jpgpart) # mp3類型的附件 # mp3part = MIMEApplication(open(‘kenny.mp3‘, ‘rb‘).read()) # mp3part.add_header(‘Content-Disposition‘, ‘attachment‘, filename=‘benny.mp3‘) # msg.attach(mp3part) # pdf類型附件 # part = MIMEApplication(open(‘foo.pdf‘, ‘rb‘).read()) # part.add_header(‘Content-Disposition‘, ‘attachment‘, filename="foo.pdf") # msg.attach(part) try: s = smtplib.SMTP_SSL("smtp.163.com", 465) s.login(msg_from, passwd) s.sendmail(msg_from, msg_to, msg.as_string()) print("發送成功") except smtplib.SMTPException: print("發送失敗") finally: s.quit()

參看文件:

https://www.cnblogs.com/yufeihlf/p/5726619.html

http://www.runoob.com/python/python-email.html

python發郵件