校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Python基于SMTP發(fā)送郵件的方法

Python基于SMTP發(fā)送郵件的方法

熱門標簽:千陽自動外呼系統(tǒng) 江蘇客服外呼系統(tǒng)廠家 平頂山外呼系統(tǒng)免費 西藏智能外呼系統(tǒng)五星服務 在哪里辦理400電話號碼 清遠360地圖標注方法 原裝電話機器人 工廠智能電話機器人 400電話申請服務商選什么

在很多時候,使用 Python 發(fā)送郵件可能沒有辦法使用郵件服務器提供的 API,因為不是所有的郵件服務商都會提供 API 供客戶使用的。

通常使用郵件 API 的郵件發(fā)送服務都需要額外的收費。

因此我們再郵件測試發(fā)送的時候,可能需要的是 SMTP 郵件發(fā)送服務,通常這個服務是所有郵件服務商都會提供的。

要使用 SMTP 郵件發(fā)送服務,你需要有下面的信息才可以完成和測試:

  • SMTP 郵件服務器的地址,端口,登錄用戶名和登錄用戶密碼
  • 發(fā)送和接收郵件的地址
  • 郵件的主題和正文

看起來是不是有點復雜,實際上,Python 提供了一個sendmail 的方法,這個方法在 smtplib 庫中。

簡單來說按照下面的步驟來做就可以了。

構建消息對象

在 Python 中有一個庫為 MIMEMultipart,我們可以使用這個來構建消息對象。

要做的事情也比較簡單,在定義 MIMEMultipart 對象后,你需要在這個對象中設置是誰發(fā)送的,發(fā)送給誰,主題是什么。

然后再在這個對象中插入正文,你可以插入 HTML 也可以插入純文本。

為了讓郵件比較美觀,通常我們都會插入 HTML 的文本,很多時候為了插入更多的數(shù)據(jù),我們還可能會用到模板。

發(fā)送郵件

在定義完成消息對象后,我們就可以發(fā)送郵件了。

在發(fā)送郵件之前,我們需要初始化 SMTP 對象,通常使用的是 smtplib.SMTP(smtpserver) 方法。

在這個方法中,我們會定義發(fā)送郵件服務器的地址和端口。

隨后我們可能會調用一個 starttls 方法,這個方法是希望發(fā)送郵件服務器使用的是 TLS 模式。

隨著技術的進步,和安全的考慮,很多郵件發(fā)送服務器都要求使用 TLS 模式來進行發(fā)送。

然后使用 server.login(email_user, email_passwd) 方法來登錄服務器。

在上面的步驟完成后,我們就等于完成了你的 Python 代碼和郵件服務器的通信了,你的代碼在這個時候會拿到服務器的對象了,并且完成了對象的初始化了。

在這一步完成后就可以調用 sendmail 函數(shù)發(fā)送郵件。

當郵件發(fā)送完成后,不要忘記關閉郵件服務器的連接。

 # Connect to the SMTP server
 server = smtplib.SMTP(smtpserver)
 server.starttls()
 server.login(email_user, email_passwd)
 sending_response = server.sendmail(from_addr, to_addr, message.as_string())
 print(sending_response)
 server.quit()

針對上面的發(fā)送服務,請參考下上面提供的偽代碼。

完整的測試代碼請參考 GitHub 上面的:python-tutorials/SendMailSMTP.py at master · cwiki-us-docs/python-tutorials · GitHub

要點

Python 發(fā)送郵件的服務還是比較簡單的。

因為郵件發(fā)送服務都需要和第三方的郵件服務器進行通信,在這個通信的過程中,最重要的步驟就是先要獲得郵件服務器的鏈接。

通常這個鏈接因為有防火墻,發(fā)送用戶名限制,密碼要求等等可能會導致連接獲得失敗而沒有辦法拿到連接服務器的對象。

針對遇到的情況具體問題具體分析就可以了。

遵循的原則步驟就是:

  1. 構建消息
  2. 獲得服務器連接
  3. 發(fā)送郵件
  4. 關閉服務器連接

需要注意的是不要忘記關閉服務器連接。

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

您可能感興趣的文章:
  • python實現(xiàn)自動化辦公郵件合并功能
  • Python利用機器學習算法實現(xiàn)垃圾郵件的識別
  • Python 發(fā)送SMTP郵件的簡單教程
  • Python一行代碼實現(xiàn)自動發(fā)郵件功能
  • Python基礎詳解之郵件處理
  • Python 調用API發(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)控服務器的cpu,磁盤空間,內(nèi)存,超過郵件報警
  • python郵件中附加文字、html、圖片、附件實現(xiàn)方法
  • Python用20行代碼實現(xiàn)完整郵件功能

標簽:天水 安慶 錦州 股票 日照 隨州 西安 白城

巨人網(wǎng)絡通訊聲明:本文標題《Python基于SMTP發(fā)送郵件的方法》,本文關鍵詞  Python,基于,SMTP,發(fā)送,郵件,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python基于SMTP發(fā)送郵件的方法》相關的同類信息!
  • 本頁收集關于Python基于SMTP發(fā)送郵件的方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 桃江县| 星座| 乌拉特中旗| 河曲县| 澜沧| 甘肃省| 巴中市| 伊春市| 谢通门县| 庆云县| 曲水县| 泸水县| 凌海市| 龙山县| 横山县| 文安县| 永吉县| 固安县| 东莞市| 石阡县| 微山县| 铁力市| 六盘水市| 长白| 栖霞市| 石河子市| 莱阳市| 吴旗县| 化隆| 禄丰县| 石景山区| 白城市| 聊城市| 贵南县| 河曲县| 兰坪| 大渡口区| 汶上县| 江阴市| 错那县| 西贡区|