1. 程式人生 > >python 實現阿里雲VPS 郵件傳送測試

python 實現阿里雲VPS 郵件傳送測試

1.python SMTP 普通傳送郵件


#coding:utf-8   #強制使用utf-8編碼格式
import smtplib  #載入smtplib模組
from email.mime.text import MIMEText
from email.utils import formataddr
my_sender='[email protected]' #發件人郵箱賬號,為了後面易於維護,所以寫成了變數
my_user='[email protected]
' #收件人郵箱賬號,為了後面易於維護,所以寫成了變數 def mail():     ret=True     try:         msg=MIMEText('填寫郵件內容','plain','utf-8')         msg['From']=formataddr(["發件人郵箱暱稱",my_sender])   #括號裡的對應發件人郵箱暱稱、發件人郵箱賬號         msg['To']=formataddr(["收件人郵箱暱稱",my_user])   #括號裡的對應收件人郵箱暱稱、收件人郵箱賬號         msg['Subject']="主題" #郵件的主題,也可以說是標題         server=smtplib.SMTP("smtp.mxhichina.com",25)  #發件人郵箱中的SMTP伺服器,埠是25         server.login(my_sender,"1q2w3e4r5T")    #括號中對應的是發件人郵箱賬號、郵箱密碼         server.sendmail(my_sender,[my_user,],msg.as_string())   #括號中對應的是發件人郵箱賬號、收件人郵箱賬號、傳送郵件         server.quit()   #這句是關閉連線的意思     except Exception:   #如果try中的語句沒有執行,則會執行下面的ret=False         ret=False     return ret ret=mail() if ret:     print("ok") #如果傳送成功則會返回ok,稍等20秒左右就可以收到郵件 else:     print("filed")  #如果傳送失敗則會返回filed
2.阿里雲vps 預設封 25 埠,傳送郵件使用 ssl 方式 465 埠進行傳送郵件;

#coding:utf-8   #強制使用utf-8編碼格式
import smtplib  #載入smtplib模組
from email.mime.text import MIMEText
from email.utils import formataddr
my_sender='xxx' #發件人郵箱賬號,為了後面易於維護,所以寫成了變數
my_user=xxxx' #收件人郵箱賬號,為了後面易於維護,所以寫成了變數


def mail():
    ret=True
    try:
        msg=MIMEText('iiiiixxxxxxxx填寫郵件內1222222211111111111容','plain','utf-8')
        msg['From']=formataddr(["發件人郵箱暱稱",my_sender])   #括號裡的對應發件人郵箱暱稱、發件人郵箱賬號
        msg['To']=formataddr(["收件人郵箱暱稱",my_user])   #括號裡的對應收件人郵箱暱稱、收件人郵箱賬號
        msg['Subject']="主題" #郵件的主題,也可以說是標題

        server=smtplib.SMTP_SSL("smtp.mxhichina.com",465)  #發件人郵箱中的SMTP伺服器,埠是25
        server.ehlo()
        server.login(my_sender,"1q2w3e4r5T")    #括號中對應的是發件人郵箱賬號、郵箱密碼
        server.sendmail(my_sender,[my_user,],msg.as_string())   #括號中對應的是發件人郵箱賬號、收件人郵箱賬號、傳送郵件

        server.quit()   #這句是關閉連線的意思
    except Exception:   #如果try中的語句沒有執行,則會執行下面的ret=False
        ret=False
    return ret

ret=mail()
if ret:
    print("ok") #如果傳送成功則會返回ok,稍等20秒左右就可以收到郵件
else:
    print("filed")  #如果傳送失敗則會返回filed