中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Python項目中利用SMTP發送郵件

發布時間:2021-04-02 14:41:25 來源:億速云 閱讀:199 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關怎么在Python項目中利用SMTP發送郵件,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

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

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

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

  • SMTP 郵件服務器的地址,端口,登錄用戶名和登錄用戶密碼

  • 發送和接收郵件的地址

  • 郵件的主題和正文

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

怎么在Python項目中利用SMTP發送郵件

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

構建消息對象

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

怎么在Python項目中利用SMTP發送郵件

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

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

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

發送郵件

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

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

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

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

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

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

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

在這一步完成后就可以調用 sendmail 函數發送郵件。

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

 # 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()

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

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

要點

Python 發送郵件的服務還是比較簡單的。

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

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

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

遵循的原則步驟就是:

  1. 構建消息

  2. 獲得服務器連接

  3. 發送郵件

  4. 關閉服務器連接

上述就是小編為大家分享的怎么在Python項目中利用SMTP發送郵件了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嵊泗县| 榆树市| 漠河县| 团风县| 巴马| 青海省| 措勤县| 绵竹市| 吉安市| 玉门市| 莱西市| 东乌珠穆沁旗| 武功县| 三明市| 贵阳市| 上高县| 临桂县| 铜川市| 东乡族自治县| 廉江市| 新源县| 托克逊县| 游戏| 宜君县| 晋宁县| 纳雍县| 清河县| 永寿县| 美姑县| 康马县| 寿光市| 菏泽市| 河曲县| 江安县| 保靖县| 甘南县| 博乐市| 诸城市| 离岛区| 芦溪县| 山丹县|