濮阳杆衣贸易有限公司

主頁 > 知識庫 > Python 發(fā)送SMTP郵件的簡單教程

Python 發(fā)送SMTP郵件的簡單教程

熱門標(biāo)簽:梅州外呼業(yè)務(wù)系統(tǒng) 老人電話機器人 北京電信外呼系統(tǒng)靠譜嗎 大連crm外呼系統(tǒng) 高德地圖標(biāo)注是免費的嗎 洪澤縣地圖標(biāo)注 地圖標(biāo)注視頻廣告 無錫客服外呼系統(tǒng)一般多少錢 百度地圖標(biāo)注位置怎么修改

一、兩個模塊

Python使用SMTP發(fā)送郵件的兩個模塊:smtplib模塊、email模塊。

  • smtplib:負(fù)責(zé)發(fā)送郵件
  • email:負(fù)責(zé)構(gòu)建郵件

二、SMTP端口

1)未加密端口,smtplib.SMTP接口,端口:25
2)使用SSL加密,smtplib.SMTP_SSL接口,端口:465
3)使用TLS加密,端口:587 

三、四大步驟

1、構(gòu)造郵件內(nèi)容

# 純文本
msg = MIMEText(content)
 
# 附件
msg = MIMEMultipart()

2、連接郵件服務(wù)器

s = smtplib.SMTP("smtp.qq.com", 25)

3、登陸郵件服務(wù)器

s.login(msg_from, passwd) 

msg_from:指發(fā)送者的郵箱

passwd:指發(fā)送者的密碼,這個密碼不是你的QQ登陸密碼,而是你在QQ郵箱設(shè)置開啟SMTP之后的一個授權(quán)碼

4、發(fā)送郵件

s.sendmail(msg_from, msg_to, msg.as_string())

msg_from:發(fā)送方
msg_to:收件方
msg.as_string():要發(fā)送的消息

四、常用場景

1、純文本郵件

import smtplib
from email.mime.text import MIMEText
from email.header import Header
 
 
# 發(fā)送者
msg_from = "xxxxx@qq.com"
 
# 這里的密碼不是QQ郵箱的密碼,而是在設(shè)置里開啟SMTP服務(wù)器后的授權(quán)碼
passwd = "xxxxx"
 
# 接受者
msg_to = "xxxx@qq.com"
 
# 郵件文本
content = 'Python 郵件發(fā)送測試...'
 
# 郵件主題
subject = "test"
 
# 生成一個MIMEText對象(還有一些其它參數(shù))
msg = MIMEText(content)
 
# 放入郵件主題
msg['Subject'] = Header(subject, 'utf-8')
 
# 放入發(fā)件人
msg['From'] = msg_from
 
try:
    # 連接郵件服務(wù)器
    s = smtplib.SMTP("smtp.qq.com", 25)
 
    # 登錄到郵箱
    s.login(msg_from, passwd)
 
    # 發(fā)送郵件:發(fā)送方,收件方,要發(fā)送的消息
    s.sendmail(msg_from, msg_to, msg.as_string())
    print('成功')
except s.SMTPException as e:
    print(e)
finally:
    s.quit()

2、發(fā)送html文本

import smtplib
from email.mime.text import MIMEText
from email.header import Header
 
 
# 發(fā)送者
msg_from = "xxxx@qq.com"
 
# 這里的密碼不是QQ郵箱的密碼,而是在設(shè)置里開啟SMTP服務(wù)器后的授權(quán)碼
passwd = "xxxx"
 
# 接受者
msg_to = "xxxx@qq.com"
 
# 郵件文本
content = """
p>Python 郵件發(fā)送測試.../p>
p>a  rel="external nofollow" >這是一個鏈接/a>/p>
"""
 
# 郵件主題
subject = "test"
 
# 生成一個MIMEText對象(
msg = MIMEText(content, 'html', 'utf-8')
 
# 放入郵件主題
msg['Subject'] = Header(subject, 'utf-8')
 
# 放入發(fā)件人
msg['From'] = msg_from
 
try:
    # 連接郵件服務(wù)器
    s = smtplib.SMTP("smtp.qq.com", 25)
 
    # 登錄到郵箱
    s.login(msg_from, passwd)
 
    # 發(fā)送郵件:發(fā)送方,收件方,要發(fā)送的消息
    s.sendmail(msg_from, msg_to, msg.as_string())
    print('成功')
except s.SMTPException as e:
    print(e)
finally:
    s.quit()

3、發(fā)送附件

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
 
 
# 發(fā)送者
msg_from = "xxxx@qq.com"
 
# 這里的密碼不是QQ郵箱的密碼,而是在設(shè)置里開啟SMTP服務(wù)器后的授權(quán)碼
passwd = "xxxx"
 
# 接受者
msg_to = "xxxx@qq.com"
 
# 郵件主題
subject = "test"
 
# 生成一個MIMEMultipart對象(
msg = message = MIMEMultipart()
 
# 郵件文本
message.attach(MIMEText('這是菜鳥教程Python 郵件發(fā)送測試……', 'plain', 'utf-8'))
 
# 放入郵件主題
msg['Subject'] = Header(subject, 'utf-8')
 
# 放入發(fā)件人
msg['From'] = msg_from
 
# 添加附件
att1 = MIMEText(open('./wordcloud_singer.py', 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
att1["Content-Disposition"] = 'attachment; filename="test.txt"'
msg.attach(att1)
 
try:
    # 連接郵件服務(wù)器
    s = smtplib.SMTP("smtp.qq.com", 25)
 
    # 登錄到郵箱
    s.login(msg_from, passwd)
 
    # 發(fā)送郵件:發(fā)送方,收件方,要發(fā)送的消息
    s.sendmail(msg_from, msg_to, msg.as_string())
    print('成功')
except s.SMTPException as e:
    print(e)
finally:
    s.quit()

以上就是Python 發(fā)送SMTP郵件的簡單教程的詳細(xì)內(nèi)容,更多關(guān)于Python 發(fā)送郵件的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • python實現(xiàn)自動化辦公郵件合并功能
  • Python利用機器學(xué)習(xí)算法實現(xiàn)垃圾郵件的識別
  • Python一行代碼實現(xiàn)自動發(fā)郵件功能
  • Python基礎(chǔ)詳解之郵件處理
  • Python 調(diào)用API發(fā)送郵件
  • Python基于SMTP發(fā)送郵件的方法
  • python基于SMTP發(fā)送QQ郵件
  • python 自動監(jiān)控最新郵件并讀取的操作
  • python實現(xiàn)發(fā)送郵件
  • python 實現(xiàn)網(wǎng)易郵箱郵件閱讀和刪除的輔助小腳本
  • python如何發(fā)送帶有附件、正文為HTML的郵件
  • python使用Windows的wmic命令監(jiān)控文件運行狀況,如有異常發(fā)送郵件報警
  • 用python監(jiān)控服務(wù)器的cpu,磁盤空間,內(nèi)存,超過郵件報警
  • python郵件中附加文字、html、圖片、附件實現(xiàn)方法
  • Python用20行代碼實現(xiàn)完整郵件功能

標(biāo)簽:泉州 安慶 怒江 岳陽 長春 洛陽 吉林 清遠(yuǎn)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python 發(fā)送SMTP郵件的簡單教程》,本文關(guān)鍵詞  Python,發(fā)送,SMTP,郵件,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python 發(fā)送SMTP郵件的簡單教程》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python 發(fā)送SMTP郵件的簡單教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    阳信县| 宁化县| 黔西| 正安县| 凌海市| 株洲市| 红安县| 新丰县| 当涂县| 无棣县| 新竹县| 隆德县| 靖远县| 遂溪县| 望江县| 桦南县| 八宿县| 梅河口市| 遵义市| 金湖县| 婺源县| 竹北市| 西安市| 邯郸县| 青田县| 临武县| 扎囊县| 横山县| 民县| 石首市| 大渡口区| 金华市| 皋兰县| 彝良县| 西昌市| 营山县| 远安县| 临安市| 清原| 德惠市| 临颍县|