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

溫馨提示×

溫馨提示×

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

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

Python批量發送郵件

發布時間:2020-08-07 06:57:44 來源:ITPUB博客 閱讀:273 作者:Winter 欄目:編程語言

1.SMTP協議

  • SMTP(Simple Mail Transfer Protocol) 即簡單郵件傳輸協議,是一個相對簡單的基于文本的協議, 在其之上指定了一條消息的一個或多個接收者(在大多數情況下被確認是存在的),然后消息文本會被傳輸。可以很簡單地通過telnet程序來測試一個SMTP服務器。SMTP使用TCP端口25。要為一個給定的域名決定一個SMTP服務器,需要使用MX (Mail eXchange) DNS

2.Python的smtplib庫

  • Python對SMTP支持有smtplib和email兩個模塊,email負責構造郵件,smtplib負責發送郵件;

  • smtplib.SMTP(host="",port=0,local_hostname=None,[timeout,]source_address=None) :SMTP類定義作為SMTP的構造函數定義了一個SMTP客戶端會話對象,功能是與smtp服務器建立連接,在連接成功后就可以向服務器發送相關請求,比如登陸、校驗、發送、退出等。參數host是遠程smtp主機地址、port是鏈接端口,默認25、local_hostname是將本地主機的FQDN(完整域名)發送 HELO/EHLO(標識用戶身份)的指令、timeout為鏈接或嘗試鏈接多少秒后超時、source_address是綁定到具有多個網絡接口的計算機中的某個特定源地址上或特定的TCP端口,它需要一個元組(主機,端口);

3.開啟郵箱SMTP協議

在使用SMTP協議發送郵件之前需要先查看發件人的郵箱是否開啟SMTP協議,如qq郵箱的開啟協議的方式是:找到郵箱的設置—>在設置頁面中選擇賬戶設置—>選擇開啟服務中的SMTP服務開啟,點擊開啟后會彈出一個驗證保密窗口,驗證成功后就會自動生成授權碼,這個授權碼在發送郵件時會用到;

4.使用SMTP發送郵件

  • 在使用SMTP發送郵件發送郵件之前我們需要先導入 smtplib 模塊和 email.mime.text 模塊中的 MIMEText

  • 然后構造一個MIMEText消息對象,其中第一個參數就是郵件正文、第二個參數是MIME的格式,第三個參數是編碼。將發件人、收件人、主題都傳入這個對象中;

  • 然后模擬登錄服務器,使用smtplib庫中的SMTP類創建SMTP的操作對象并連接smtp目標服務器,可以是163、QQ等,如果是163郵箱服務器地址是 smtp.163.com ,如果是qq郵箱服務器地址是 smtp.qq.com 。 訪問郵箱的服務器之后需要使用 login('郵箱地址','郵箱授權碼') 方法根據自己的賬號登錄服務器(這里的授權碼就是之前開啟SMTP協議生成的授權碼),如果不登錄是不能發郵件的;

  • 登錄之后再使用 send_message() 方法將發送郵件的消息傳遞給SMTP對象,開始發送郵件;


import smtplib
from email.mime.text import MIMEText
from const_file import passwd
def send_email(from_addr, to_addr, subject, password):
    msg = MIMEText("郵件正文",'html','utf-8')
    msg['From'] = from_addr
    msg['To'] = to_addr
    msg['Subject'] = subject
    smtp_server = smtplib.SMTP('smtp.qq.com')
    smtp_server.login(from_addr, password)
    smtp_server.send_message(msg=msg)
if __name__ == "__main__":
    # passwd填寫認證密碼,不是登錄密碼
    send_email("郵箱地址", "郵箱地址", "這是一封測試郵件", passwd)

5.郵件的批量發送


import smtplib
from email.mime.text import MIMEText
from const_file import passwd
def send_email(from_addr, to_addr, subject, password):
    msg = MIMEText("郵件正文",'html','utf-8')
    msg['From'] = from_addr
    msg['To'] = to_addr
    msg['Subject'] = subject
    smtp_server = smtplib.SMTP('smtp.qq.com')
    smtp_server.login(from_addr, password)
    smtp_server.send_message(msg=msg)
if __name__ == "__main__":
    send_list = ['a@163.com', 'b@163.com', 'c@163.com']
    for to_addr in send_list:
        send_email("郵箱地址", to_addr, "這是一封測試郵件", passwd)

參考: https://www.9xkd.com/user/plan-view.html?id=3823903948

向AI問一下細節

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

AI

桐城市| 阳原县| 洮南市| 土默特左旗| 井研县| 德阳市| 潢川县| 德安县| 拜城县| 靖西县| 大城县| 大渡口区| 鹰潭市| 大关县| 延吉市| 罗田县| 云林县| 石景山区| 保靖县| 东方市| 讷河市| 竹山县| 浠水县| 南江县| 山丹县| 深水埗区| 黄浦区| 林甸县| 柘荣县| 福鼎市| 长丰县| 黑龙江省| 玉龙| 射洪县| 荆州市| 牡丹江市| 滦平县| 西乌| 桐城市| 平塘县| 富裕县|