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()

总结:

      亲测可用,邮件内容不要太少,否则可能被当做垃圾邮件。最后如果没有收到邮件,在垃圾邮件里面看看,可能被当做垃圾邮件处理掉了。

发布了42 篇原创文章 · 获赞 13 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/sunskyday/article/details/88371337