利用Python+163邮箱授权码发送邮件

1,156 阅读4分钟
原文链接: www.cnblogs.com
钟子敬07

导航

统计

  • 随笔 - 17
  • 文章 - 0
  • 评论 - 0
  • 引用 - 0

公告

搜索

   

常用链接

随笔档案

最新评论

阅读排行榜

评论排行榜

推荐排行榜

 

利用Python+163邮箱授权码发送邮件

背景

前段时间写了个自动打卡的脚本,但是脚本不够完善,我需要知道,打卡到底成没成功,因此,我想到了用Python执行完代码之后,再执行一段发送邮件的代码。需求开始明确了,就开始分析和写代码实现吧。

分析

SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。

代码实现

import smtplib
from email.mime.text import MIMEText  
# 引入smtplib和MIMEText
from time import sleep

def sentemail():
    host = 'smtp.163.com'  
    # 设置发件服务器地址
    port = 465  
    # 设置发件服务器端口号。注意,这里有SSL和非SSL两种形式,现在一般是SSL方式
    sender = 'a419914150@163.com'  
    # 设置发件邮箱,一定要自己注册的邮箱
    pwd = 'SGJEKFBFK322'  
    # 设置发件邮箱的授权码密码,根据163邮箱提示,登录第三方邮件客户端需要授权码
    receiver = '419914150@qq.com' 
    # 设置邮件接收人,可以是QQ邮箱
    body = '<h1>你已成功打卡</h1><p>zhongfs</p>' 
    # 设置邮件正文,这里是支持HTML的
    msg = MIMEText(body, 'html') 
    # 设置正文为符合邮件格式的HTML内容
    msg['subject'] = '打卡通知' 
    # 设置邮件标题
    msg['from'] = sender  
    # 设置发送人
    msg['to'] = receiver  
    # 设置接收人
    try:
        s = smtplib.SMTP_SSL(host, port)  
        # 注意!如果是使用SSL端口,这里就要改为SMTP_SSL
        s.login(sender, pwd)  
        # 登陆邮箱
        s.sendmail(sender, receiver, msg.as_string())
        # 发送邮件!
        print ('Done.sent email success')
    except smtplib.SMTPException:
        print ('Error.sent email fail')
        
if __name__ == '__main__':
    sentemail()

执行情况

程序运行截图:

收到邮件截图:

总结

本文简单介绍了如何利用python通过163邮箱发送邮件,并附上了代码。由于比较简单,不再过多阐述。已上传github代码,链接如下:

https://github.com/rootzhongfengshan/python_practical/blob/master/SentMail/SentMail.py

posted on 2018-10-09 22:19 钟子敬07 阅读(3) 评论(0) 编辑 收藏   刷新评论刷新页面返回顶部 注册用户登录后才能发表评论,请 登录注册访问网站首页。 【推荐】超50万VC++源码: 大型组态工控、电力仿真CAD与GIS源码库!
【推荐】腾讯云新注册用户域名抢购1元起
腾讯云1008 最新IT新闻:
· 93岁院士又拿180万助学!他一件衬衣却穿30年
· 英特尔9代酷睿来了:甩掉「硅脂」、睿频 5Ghz,它只想取悦玩家
· Model 3 被评为全世界最安全的汽车,不信撞给你看?
· OPPO R17 Pro 体验:这是一款能让你爱上夜拍的手机
· 两款全面屏 iPad Pro 将在本月发布,或支持 4K HDR 视频输出
» 更多新闻... 最新知识库文章:
· 为什么说 Java 程序员必须掌握 Spring Boot ?
· 在学习中,有一个比掌握知识更重要的能力
· 如何招到一个靠谱的程序员
· 一个故事看懂“区块链”
· 被踢出去的用户
» 更多知识库文章...   Powered by:
博客园
Copyright © 钟子敬07