import smtplibfrom email.mime.text import MIMETextfrom email.header import Headerfrom email.mime.multipart import MIMEMultipartfrom email.mime.base import MIMEBasefrom email import encoders# come_from 是本身的郵箱,password是郵箱的受權碼come_from = '2577452716@qq.com'# who 用戶是誰 ,至關於用戶名。password = 'jgodszkzfkrqebeb' # 祕鑰串 ,至關於密碼。# to_email 是接收的郵箱to_email = '2435224077@qq.com' # 我要發送給誰# 郵件服務器smtp_server = 'smtp.qq.com' #咱們本身不搭建了,有免費的還穩定,出了事情都能找服務商, QQ郵箱的服務域名# 想要在郵件中添加附件。首先須要構造一個MIMEMultipart對象表示郵件總體,而後添加一個MIMEText做爲郵件正文,添加一個MIMEBase對象做爲附件便可msg = MIMEMultipart()# 郵件頭部信息msg['From'] = Header(come_from)# 發送給誰msg['To'] = Header(to_email)# 郵件主題msg['Subject'] = Header('1908大實訓')# 附件# 附件第二個參數爲格式,默認爲純文本,# msg.attach(MIMEText('Hello, my friend...', 'plain', 'utf-8'))# 郵件中正文顯示圖片# 咱們須要先把圖片做爲附件,而後在HTML中經過引用src="cid:0"就能夠把附件做爲圖片嵌入了。# 顯示附件圖片須要把第二個參數改成html, img標籤src屬性爲 src="cid:0"# 圖片的第二個參數爲htmlmsg.attach(MIMEText('<html><body><h1>Hello, my friend...</h1>' + '<p><img src="cid:0"></p>' + '</body></html>', 'html', 'utf-8'))with open('D:/tupian/1.png', 'rb') as f: # 打開須要添加的附件 mime = MIMEBase('image', 'png', filename='1.png') # 建立MIMEBase對象,即附件內容 mime.add_header('Content-disposition', 'attachment', filemane='1.png') # 添加必要的頭文件 mime.add_header('Content-ID', '<0>') mime.add_header('X-Attachment-ID', '0') mime.set_payload(f.read()) # 讀進附件的內容 encoders.encode_base64(mime) # 用base64編碼 msg.attach(mime) # 把附件添加到主體對象中# 建立實例server = smtplib.SMTP_SSL(smtp_server)# QQ郵箱SMTP的端口號是465或587server.connect(smtp_server, 465)# 登陸郵箱server.login(come_from, password)# 發送郵件server.sendmail(come_from, to_email, msg.as_string())print("發送完成")# 退出郵箱server.quit()