python 发送邮件 <QQ+腾讯企业邮箱>
一、使用QQ郵箱或者騰訊企業郵箱
python 發送郵件屬于網絡編程方向的,在工作中,我需要經常用郵件來檢測我的程序運行狀況.使用起來十分方便,這里我就用騰訊企業郵箱作為我的收發郵箱來使用.
使用python 中的 smtplib 模塊來實現發送電子郵件. smtplib對SMTP(Simple Mail Transfer Protocol 簡單郵件傳輸協議)進行簡單的包裝.
# 創建 對象
import smtplib
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )
host : STMP服務器主機,可以制定ip或者域名
port : SMTP服務試用的端口號,一般為25
local_hostname: 如果 SMTP 在你的本機上,你只需要指定服務器地址為 localhost 即可。
Python SMTP 對象使用 sendmail 方法發送郵件,語法如下:
SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])
from_addr: 郵件發送者地址。
to_addrs: 郵件發送地址,字符串列表,可以發送給多人['addr1','addr2',....],。
msg: 發送消息
msg 是字符串,表示郵件。郵件一般由標題,發信人,收件人,郵件內容,附件等構成,發送郵件的時候,要注意 msg 的格式。這個格式就是 smtp 協議中定義的格式。
==例子==
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
def mail(my_sender, my_pass, recipients):
try:
# 郵件的內容
msg = MIMEText('這是一條測試郵件,請忽略', 'plain', 'utf-8')
# [發件人的郵箱昵稱、發件人郵箱賬號], 昵稱隨便
msg['From'] = formataddr([" ", my_sender])
# [收件人郵箱昵稱、收件人郵箱賬號], 昵稱隨便
msg['To'] = formataddr([" ", recipients])
# 郵件的主題,也就是郵件的標題
msg['Subject'] = "郵件測試"
# 備注:這里使用的是QQ郵箱的服務器, 加入用騰訊企業郵箱作為發件人的話,請將"smtp.qq.com" 修改為 "smtp.exmail.qq.com"
# 發件人郵箱中的SMTP服務器,qq端口是465
server = smtplib.SMTP_SSL("smtp.qq.com", port=465)
# (發件人郵箱賬號、郵箱密碼)
server.login(my_sender, my_pass)
# (發件人郵箱賬號、收件人郵箱賬號、發送郵件)
server.sendmail(my_sender, recipients, msg.as_string())
server.quit() # 關閉連接
print("郵件發送成功")
except Exception as e:
print("郵件發送失敗: ",e)
if __name__ == '__main__':
my_sender = '126xxxx261@qq.com' # 發件人郵箱賬號
my_pass = 'xxxxxxxxxxxxxxxx' # 發件人郵箱授權碼 / 騰訊企業郵箱請使用登陸密碼
recipients = '126xxxxx261@qq.com' # 收件人郵箱賬號
mail(my_sender, my_pass, recipients)
使用注意
使用QQ郵箱作為發送端的話,必須開啟SMTP服務,
請點擊官方教程查看具體幫助.
具體設置如下(需要發送短信)
1.登陸QQ郵箱,
2.選擇 設置 --> 賬戶
3.開啟 "POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務" 服務,生成授權碼即可
假如使用騰訊企業郵箱,請修改server = smtplib.SMTP_SSL("smtp.qq.com", port=465)
中的smtp.qq.com為smtp.exmail.qq.com,代碼中提到
第一次寫博客也有很多不足的地方,以后要多多學習,彌補自己.
有時間的話,會繼續補充其他郵箱的使用,道理其實都一樣
1.騰訊企業郵箱SMTP服務器地址:smtp.exmail.qq.com,ssl端口為:465
2.確保騰訊企業郵箱中開啟了SMTP服務:
3.示例代碼:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
|
4.如果更換其他郵箱,如qq郵箱、163郵箱等,按以上步驟設置,注意區分不同郵箱的smtp服務器地址和端口號即可。
總結
以上是生活随笔為你收集整理的python 发送邮件 <QQ+腾讯企业邮箱>的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop HIVE
- 下一篇: [PPT] WPS 提取 PPT 中的母