環(huán)境:centos7.2 python2.7.6 簡(jiǎn)介:通過(guò)編寫的Python 腳本實(shí)現(xiàn)調(diào)用不同的郵件服務(wù)器465 端口發(fā)送短信。共四個(gè)。
腳本內(nèi)容如下,具體內(nèi)容不做介紹,主要是講解如何通過(guò)該腳本實(shí)現(xiàn)上述需求。
#!/usr/bin/python # -*- coding: UTF-8 -*- import smtplib from email.mime.text
import MIMEText from email.utils import formataddr
print("郵件發(fā)送測(cè)試默認(rèn)使用的是465端口,郵件主機(jī)是使用的smtp.163.com") my_sender = raw_input("郵件賬戶:")
my_pass = raw_input("郵件密碼:") my_user = raw_input("收件人:") def mail(): ret=True
try: msg=MIMEText('填寫郵件內(nèi)容','plain','utf-8')
msg['From']=formataddr(["我是發(fā)件人",my_sender]) # 括號(hào)里的對(duì)應(yīng)發(fā)件人郵箱昵稱、發(fā)件人郵箱賬號(hào)
msg['To']=formataddr(["我是收件人",my_user]) # 括號(hào)里的對(duì)應(yīng)收件人郵箱昵稱、收件人郵箱賬號(hào)
msg['Subject']="我是郵件主題發(fā)送郵件測(cè)試" # 郵件的主題,也可以說(shuō)是標(biāo)題
server=smtplib.SMTP_SSL("smtp.163.com", 465) # 發(fā)件人郵箱中的SMTP服務(wù)器,端口是加密465端口
server.login(my_sender, my_pass) # 括號(hào)中對(duì)應(yīng)的是發(fā)件人郵箱賬號(hào)、郵箱密碼
server.sendmail(my_sender,[my_user,],msg.as_string()) #
括號(hào)中對(duì)應(yīng)的是發(fā)件人郵箱賬號(hào)、收件人郵箱賬號(hào)、發(fā)送郵件 server.quit() # 關(guān)閉連接 except Exception: # 如果 try
中的語(yǔ)句沒有執(zhí)行,則會(huì)執(zhí)行下面的 ret=False ret=False return ret ret=mail() if ret:
print("郵件發(fā)送成功") else: print("郵件發(fā)送失敗")
測(cè)試一:
通過(guò)該腳本調(diào)用 163 郵箱的 smtp 465 端口發(fā)送短信。測(cè)試前,如果沒有 163 郵箱需要首先注冊(cè)一個(gè) 163 郵箱。
參考上述信息填寫好注冊(cè)信息后 ,點(diǎn)擊 立即注冊(cè)。然后在新界面點(diǎn)擊進(jìn)入郵箱。
進(jìn)入郵箱界面后 點(diǎn)擊設(shè)置--選擇如下圖標(biāo)注選項(xiàng)。
然后再下圖勾畫部分設(shè)置授權(quán)碼
設(shè)置授權(quán)碼的時(shí)候 需要您重新驗(yàn)證 手機(jī)驗(yàn)證碼、
然后輸入授權(quán)碼,此授權(quán)碼后續(xù)發(fā)送郵件需要用到。
后續(xù)就需要我們連接centos 服務(wù)器。然后 vim 創(chuàng)建一個(gè) sendmail.py 文件。將腳本內(nèi)容粘貼進(jìn)去,因?yàn)槟_本默認(rèn)是 163 的
。所以不用進(jìn)行更改。
保存后退出,然后chmod +x sendmail.py 給對(duì)應(yīng)腳本文件授權(quán)。并執(zhí)行python sendmail.py 然后輸入163 賬號(hào)
授權(quán)碼,收件人郵箱地址,然后依次回車就可以看是否發(fā)送成功。效果如圖。
二,通過(guò)qq郵箱smtp 發(fā)送郵件。
第一步注冊(cè)qq郵箱,詳細(xì)過(guò)程就不介紹了。和 163 郵箱注冊(cè)流程基本一致。
qq 郵箱注冊(cè)好后,點(diǎn)擊設(shè)置界面。如下圖。
找到如圖所示位置
點(diǎn)擊驗(yàn)證后會(huì)有一個(gè)授權(quán)碼出現(xiàn),該授權(quán)碼就是用來(lái)發(fā)送郵件時(shí)需要驗(yàn)證的 。
上述流程 操作完畢后,接下來(lái)就是 打開centos 系統(tǒng) 找到對(duì)應(yīng)腳本,進(jìn)行 修改。qq郵箱可以修改為smtp.qq.com 465 端口不變 腳本上方的
print 那也可以修改下,這個(gè)只是一個(gè)輸出的內(nèi)容。為了看著舒服,如果你通過(guò)qq 郵箱發(fā)送郵件就把后面的smtp地址修改為qq 的就可以了。
接下來(lái)驗(yàn)證下成果。成功接收到了郵件。
測(cè)試三。驗(yàn)證通過(guò)阿里云個(gè)人郵箱發(fā)送郵件。
首先注冊(cè)一個(gè) 阿里郵箱。注冊(cè)好后該smtp 和 pop 是默認(rèn)開啟的。不用單獨(dú)設(shè)置授權(quán)碼,
直接登陸centos 服務(wù)器,打開sendmail 腳本。然后 修改 郵件服務(wù)器為 smtp.aliyun.com 保存 。退出。
直接驗(yàn)證是否可以發(fā)信。測(cè)試成功,但是沒有收到郵件。最后發(fā)現(xiàn)是被認(rèn)定為垃圾郵件被退信了。。。。
測(cè)試四 通過(guò)139郵箱發(fā)送郵件。139 郵箱smtp默認(rèn)開啟。地址是smtp.139.com
測(cè)試發(fā)送。成功。
熱門工具 換一換
