如何使用python傳送電子郵件01
阿新 • • 發佈:2021-07-20
想要使用python傳送電子郵件,
第一步: 確定配置發郵件所需的基礎資訊
如:
my_sender # 配置發件人郵箱地址***@qq.com
my_pass # 配置發件人郵箱密碼 (該密碼為授權碼,授權碼需要手動開通郵箱的SMTP)
to_user # 配置收件人郵箱地址***@163.com
my_nick # 配置發件人暱稱
to_nick # 配置收件人暱稱
mail_msg # 配置郵件內容你好,這是我用python傳送的電子郵件
附:手動開通郵箱的SMTP方法,
1.登陸你的郵箱-->設定
2.找到你的POPI/SMIP/IMAP,然後將如圖所示的兩個服務開啟
3.開啟時會讓你通過手機放鬆驗證碼,已傳送後就開啟了,記住一定將你的授權碼儲存,因為只會顯示一次
第二步: 程式碼如下
# 傳送郵件
# 匯入第三方模組
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
# 自定義傳送電子郵件的函式,三引號為換行註釋
'''
配置發郵件所需的基礎資訊
my_sender # 配置發件人郵箱地址,qq郵箱@qq.com
my_pass # 配置發件人郵箱密碼 為授權碼
to_user # 配置收件人郵箱地址,163郵箱@163.com
my_nick # 配置發件人暱稱
to_nick # 配置收件人暱稱
mail_msg # 配置郵件內容你好,這是我用python傳送的電子郵件
'''
def mail(my_sender, my_pass, to_user, my_nick, to_nick, mail_msg):
# 必須將郵件內容做一次MIME轉換--傳送含連結的郵件
msg = MIMEText(mail_msg, 'html', 'utf-8')
# 配置發件人名稱和郵箱地址
msg['from'] = formataddr([my_nick, my_sender])
# 配置收件人名稱和郵箱地址
msg['to'] = formataddr([to_nick, to_user])
# 配置郵件主題
msg['Subject'] = "python發郵件測試"
# 配置python與郵件的SMPT伺服器的連線通道( qq郵箱)
server = smtplib.SMTP_SSL("smtp.qq.com", 465)
# 模擬登入
server.login(my_sender, my_pass)
# 郵件內容傳送
server.sendmail(my_sender, [to_user, ], msg.as_string())
# 關閉連線通道
server.quit()
# 主函式
try:
mail_msg = """
<p>尊敬的***:</p>
<p>您好,非常抱歉打擾到您,這是一份Python 的郵件測試,看見後可以忽略。</p>
<p><a href="https://mp.weixin.qq.com/s/fEs__JCPifFDdL-1dM_6Qw">2個多月近600頁的資料分析與挖掘PPT分享給您!</a></p>
"""
# 呼叫函式(登入密碼需要換成你自己的)
mail('qqy郵箱地址@qq.com', 'u郵箱授權碼', '163郵箱地址@163.com', 'qq郵箱暱稱', '163郵箱暱稱', mail_msg)
print('郵件傳送成功!')
except:
print('郵件傳送失敗!')
測試結果如下