1. 程式人生 > >python---自動群發郵件

python---自動群發郵件

規範 其他 刪除 ans smt 計算 sdn content utf-8

生活中我們經常發送郵件,那麽我們能不能用Python寫一個自動發送郵件的功能呢?答案是肯定的!!!

開始實現功能之前我們需要開啟我們郵箱的 IMAP/SMTP功能,我們先了解一下什麽是IMAP/SMTP。

SMTP 的全稱是“Simple Mail Transfer Protocol”,即簡單郵件傳輸協議。它是一組用於從源地址到目的地址傳輸郵件的規範,通過它來控制郵件的中轉方式。SMTP 協議屬於 TCP/IP 協議簇,它幫助每臺計算機在發送或中轉信件時找到下一個目的地。SMTP 服務器就是遵循 SMTP 協議的發送郵件服務器。

IMAP全稱是Internet Mail Access Protocol,即交互式郵件存取協議,它是跟POP3類似郵件訪問標準協議之一。不同的是,開啟了IMAP後,您在電子郵件客戶端收取的郵件仍然保留在服務器上,同時在客戶端上的操作都會反饋到服務器上,如:刪除郵件,標記已讀等,服務器上的郵件也會做相應的動作。所以無論從瀏覽器登錄郵箱或者客戶端軟件登錄郵箱,看到的郵件以及狀態都是一致的。

在這裏我用的是163郵箱,其他郵箱原理相同,有興趣的可以實現以下。


  • 開啟163郵箱的 IMAP/SMTP

  • 技術分享圖片

    啟用客戶端授權密碼

    在這裏我們會驗證手機號,然後設置一個授權密碼,這個授權密碼就用來登錄我們的賬號

    技術分享圖片

  • python代碼實現

    ``` import smtplib from email.mime.text import MIMEText subject = "白菜先森的第一封python發送的郵件" #郵件的主題 content = "<a href=‘https://blog.csdn.net/young_foryou‘ > 以動手實踐為榮,以只看不練為恥;以打印日誌為榮,以單步跟蹤為恥;以空格縮進為榮,以制表縮進為恥;以單元測試為榮,以人工測試為恥.</a>" #郵件內容 sender = "[email protected]" #發件人 password = ‘12356789qq‘ #剛才我們在163郵箱裏設置的授權密碼 receivers =[ "[email protected]",‘[email protected]‘,‘[email protected]‘,‘[email protected]‘] #收件人 for receiver in receivers: message = MIMEText(content,"html","utf-8") message["From"] = sender message["To"] = receiver message["Subject"] = subject smtp = smtplib.SMTP_SSL(‘smtp.163.com‘,994) smtp.login(sender,password) smtp.sendmail(sender,[receiver],message.as_string()) smtp.close() time.sleep(5) ```

到這裏一封通過python群發的郵件就完成了!

來源:

python---自動群發郵件