Web自動化【6】——發送郵件(文本,圖片,附件)

本文主要是用python自動化發郵件,其中以後見內容包含郵件主題,郵件正文,以及附件。對於日常使用足夠啦~

關於發送郵件常遇到的問題解決,可參考博客:
https://blog.csdn.net/for_further/article/details/103276962
以上博客,講解了和服務器建立連接的三種方式以及常見報錯解決。

先看一下效果圖,如下:
在這裏插入圖片描述

import smtplib
from email.header import Header
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from smtplib import SMTP

server = 'SMTP.qq.com'
sender = '[email protected]'
pwd = 'xpvwyhxnsrsrbabi'
receiver = '[email protected]'

msg = MIMEMultipart('related')
msg['From'] = Header('測試發件人')
msg['To'] = Header('測試收件人')
msg['Subject'] = Header('帶附件郵件')

content = '<p><a>假鏈接</a></p><p><img src="cid:image1"></p>'
msg1 = MIMEText(content, 'html', 'utf-8')  # 正文

msg2 = MIMEText(open('.//郵件附件.html', 'rb').read(), 'base64', 'utf-8')  # 附件
msg2['content-type'] = 'application/octet-stream'
msg2['content-disposition'] = "attachment; filename ='mail_file.html'"

msg3 = MIMEImage(open('.\\images\\image.png', 'rb').read())  # 圖片
msg3.add_header('Content-ID', '<image1>')


msg.attach(msg1)
msg.attach(msg2)
msg.attach(msg3)

sm = SMTP()
sm.connect(server, 25)
sm.login(sender, pwd)
try:
    sm.sendmail(sender, receiver, msg.as_string())
    print("郵件發送成功")
except smtplib.SMTPException:
    print("Error: 無法發送郵件")

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章