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