python 實現阿里雲VPS 郵件傳送測試
阿新 • • 發佈:2018-11-16
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