• python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件


    python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件

    使用qq的邮件服务器需要注意的两个地方主要是:

    1.协议问题 使用465端口 SSL 协议

    2.口令问题 出现SMTPAuthenticationError 主要的原因就是口令和帐号信息不对,这里我们使用qq服务器发送 需要先到邮箱里设置独立密码(必须), 然后开启

       SMTP/POP3服务。然后用qq手机安全中心扫一扫会给一个授权码, 在代码中要填写的密码是这个授权码, 而不是邮箱密码!

    示例代码:

    # python3
    # author:lizm
    # date:2018-07-18 10:00:00 
    # -*- coding: utf-8 -*-
    '''
        description:登录qq邮箱发送邮件
    '''
    from smtplib import SMTP_SSL
    from email.header import Header
    from email.mime.text import MIMEText
    
    #邮件定义
    mail_info = {
        "from": "******@qq.com",
        "to": "******@qq.com",
        "hostname": "smtp.qq.com",
        "username": "******@qq.com",
        "password": "*******",
        "mail_subject": "test",
        "mail_text": "hello, this is a test email, sended by py",
        "mail_encoding": "utf-8"
    }
    
    if __name__ == '__main__':
        #使用SMTP_SSL就是默认使用465端口
        smtp = SMTP_SSL(mail_info["hostname"])
        #set_debuglevel()是用来调试的。参数值为1表示开启调试模式,参数值为0关闭调试模式
        smtp.set_debuglevel(1)
        
        #连接服务器
        smtp.ehlo(mail_info["hostname"])
        #邮箱登录
        smtp.login(mail_info["username"], mail_info["password"])
    
        #填写正文内容
        msg = MIMEText(mail_info["mail_text"], "plain", mail_info["mail_encoding"])
        #填写邮件标题
        msg["Subject"] = Header(mail_info["mail_subject"], mail_info["mail_encoding"])
        #发送者邮箱地址
        msg["from"] = mail_info["from"]
        #接收者邮件地址
        msg["to"] = mail_info["to"]
        #发送邮件
        smtp.sendmail(mail_info["from"], mail_info["to"], msg.as_string())
        #退出
        smtp.quit()
  • 相关阅读:
    iOS使用技能
    iOS 视频播放的简单使用
    iOS中二维码的生成与使用(入门篇)
    正则表达式的小总结
    最近项目中巧遇的几个好工具,分享一下
    Foundation与coreFoundation的相互转换
    iOS实用技能扩展-集成支付宝
    iOS实用技能扩展-静态库的制作与简单使用
    数据存储的三种方式
    Magento获取IP地址
  • 原文地址:https://www.cnblogs.com/lizm166/p/9328049.html
Copyright © 2020-2023  润新知