zoukankan      html  css  js  c++  java
  • 利用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

  • 相关阅读:
    从零开始学CSS-overflow
    vue 高度自适应的问题处理
    子div在父div里居中
    IEC104协议规约解析
    Arduino编译总结
    通过golang小案例,了解golang程序常见机制
    用go实现常见的数据结构
    常见面试题整理,金三银四全靠它了
    golang知识总结
    .NET Core 基于 Grafana Loki 日志初体验
  • 原文地址:https://www.cnblogs.com/zhongfengshan/p/9763366.html
Copyright © 2011-2022 走看看