python 給手機發送郵件消息

    在用python做一些測試時候,不想一直盯着測試結果。當測試完成或者測試出現問題時候,希望能夠快速提醒自己。這時候給自己發個郵件,手機郵箱就會收到消息。從而實現消息的快速獲取。(本文章同步在公衆號登出:Geekxiaobai)

1. 需要 import 的一些包

 

2. 發送郵件函數:

      目前登錄的郵箱是 163郵箱,親測可用。最好不要用其它的。 接收消息的郵箱可以用qq郵箱。一些細節都在註釋中標明瞭。

 

3.  sendmail("需要發送的內容")

 

代碼:

#python 郵件
#python3.6
#2018.08,25
#代碼測試成功

import requests, bs4, smtplib
from email.mime.text import MIMEText
from email.header import Header 

def sendmail(content):
    smtp_server = 'smtp.163.com'  #smt.qq.com
    fromMail = '********@163.com'  #發送消息的郵箱(登錄郵箱)
    mailPass = ('*********')       #登錄郵箱的登錄密碼

    toMail = '*********@qq.com'  #接收消息的郵箱
    fromName = 'mywork'
    subject = "python Email"  #主題不能爲test,否則報錯554 DT:SPM
    #mail = [
    #    'From: %s <%s>' % (fromName, fromMail),
    #    'To: %s' % ','.join(toMail),
    #    '',
    #    content
    #    ]
    #mail = '\n'.join(mail)
   
    msg = MIMEText(content)
    msg['Subject'] = subject
    msg['From'] = fromMail
    msg['To']   = toMail
    

    try:
        s = smtplib.SMTP()
        print('***正在連接服務器...')
        s.connect(smtp_server) 
        s = smtplib.SMTP_SSL('smtp.163.com', 465)
        print('***正在登錄...')
        s.login(fromMail, mailPass)
        print('***sending...')
        s.sendmail(fromMail, toMail, msg.as_string()) #msg.as_string()
        print('*****send Sucess!***')
        s.quit()
    except Exception as e:
        print('**** error----  ' + str(e))

if __name__ == '__main__':
    sendmail(' sucess!,Have Fun!')
    print('Done')
    #s.quit()

總結:

      親測可用,郵件內容不要太少,否則可能被當做垃圾郵件。最後如果沒有收到郵件,在垃圾郵件裏面看看,可能被當做垃圾郵件處理掉了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章