• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python 发送SMTP邮件的简单教程
    POST TIME:2021-10-18 13:25

    一、两个模块

    Python使用SMTP发送邮件的两个模块:smtplib模块、email模块。

    二、SMTP端口

    1)未加密端口,smtplib.SMTP接口,端口:25
    2)使用SSL加密,smtplib.SMTP_SSL接口,端口:465
    3)使用TLS加密,端口:587 

    三、四大步骤

    1、构造邮件内容

    # 纯文本
    msg = MIMEText(content)
     
    # 附件
    msg = MIMEMultipart()

    2、连接邮件服务器

    s = smtplib.SMTP("smtp.qq.com", 25)

    3、登陆邮件服务器

    s.login(msg_from, passwd) 

    msg_from:指发送者的邮箱

    passwd:指发送者的密码,这个密码不是你的QQ登陆密码,而是你在QQ邮箱设置开启SMTP之后的一个授权码

    4、发送邮件

    s.sendmail(msg_from, msg_to, msg.as_string())

    msg_from:发送方
    msg_to:收件方
    msg.as_string():要发送的消息

    四、常用场景

    1、纯文本邮件

    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
     
     
    # 发送者
    msg_from = "xxxxx@qq.com"
     
    # 这里的密码不是QQ邮箱的密码,而是在设置里开启SMTP服务器后的授权码
    passwd = "xxxxx"
     
    # 接受者
    msg_to = "xxxx@qq.com"
     
    # 邮件文本
    content = 'Python 邮件发送测试...'
     
    # 邮件主题
    subject = "test"
     
    # 生成一个MIMEText对象(还有一些其它参数)
    msg = MIMEText(content)
     
    # 放入邮件主题
    msg['Subject'] = Header(subject, 'utf-8')
     
    # 放入发件人
    msg['From'] = msg_from
     
    try:
        # 连接邮件服务器
        s = smtplib.SMTP("smtp.qq.com", 25)
     
        # 登录到邮箱
        s.login(msg_from, passwd)
     
        # 发送邮件:发送方,收件方,要发送的消息
        s.sendmail(msg_from, msg_to, msg.as_string())
        print('成功')
    except s.SMTPException as e:
        print(e)
    finally:
        s.quit()

    2、发送html文本

    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
     
     
    # 发送者
    msg_from = "xxxx@qq.com"
     
    # 这里的密码不是QQ邮箱的密码,而是在设置里开启SMTP服务器后的授权码
    passwd = "xxxx"
     
    # 接受者
    msg_to = "xxxx@qq.com"
     
    # 邮件文本
    content = """
    p>Python 邮件发送测试.../p>
    p>a href="http://www.baidu.com" rel="external nofollow" >这是一个链接/a>/p>
    """
     
    # 邮件主题
    subject = "test"
     
    # 生成一个MIMEText对象(
    msg = MIMEText(content, 'html', 'utf-8')
     
    # 放入邮件主题
    msg['Subject'] = Header(subject, 'utf-8')
     
    # 放入发件人
    msg['From'] = msg_from
     
    try:
        # 连接邮件服务器
        s = smtplib.SMTP("smtp.qq.com", 25)
     
        # 登录到邮箱
        s.login(msg_from, passwd)
     
        # 发送邮件:发送方,收件方,要发送的消息
        s.sendmail(msg_from, msg_to, msg.as_string())
        print('成功')
    except s.SMTPException as e:
        print(e)
    finally:
        s.quit()

    3、发送附件

    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    from email.header import Header
     
     
    # 发送者
    msg_from = "xxxx@qq.com"
     
    # 这里的密码不是QQ邮箱的密码,而是在设置里开启SMTP服务器后的授权码
    passwd = "xxxx"
     
    # 接受者
    msg_to = "xxxx@qq.com"
     
    # 邮件主题
    subject = "test"
     
    # 生成一个MIMEMultipart对象(
    msg = message = MIMEMultipart()
     
    # 邮件文本
    message.attach(MIMEText('这是菜鸟教程Python 邮件发送测试……', 'plain', 'utf-8'))
     
    # 放入邮件主题
    msg['Subject'] = Header(subject, 'utf-8')
     
    # 放入发件人
    msg['From'] = msg_from
     
    # 添加附件
    att1 = MIMEText(open('./wordcloud_singer.py', 'rb').read(), 'base64', 'utf-8')
    att1["Content-Type"] = 'application/octet-stream'
    att1["Content-Disposition"] = 'attachment; filename="test.txt"'
    msg.attach(att1)
     
    try:
        # 连接邮件服务器
        s = smtplib.SMTP("smtp.qq.com", 25)
     
        # 登录到邮箱
        s.login(msg_from, passwd)
     
        # 发送邮件:发送方,收件方,要发送的消息
        s.sendmail(msg_from, msg_to, msg.as_string())
        print('成功')
    except s.SMTPException as e:
        print(e)
    finally:
        s.quit()

    以上就是Python 发送SMTP邮件的简单教程的详细内容,更多关于Python 发送邮件的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • python实现自动化办公邮件合并功能
    • Python利用机器学习算法实现垃圾邮件的识别
    • Python一行代码实现自动发邮件功能
    • Python基础详解之邮件处理
    • Python 调用API发送邮件
    • Python基于SMTP发送邮件的方法
    • python基于SMTP发送QQ邮件
    • python 自动监控最新邮件并读取的操作
    • python实现发送邮件
    • python 实现网易邮箱邮件阅读和删除的辅助小脚本
    • python如何发送带有附件、正文为HTML的邮件
    • python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
    • 用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
    • python邮件中附加文字、html、图片、附件实现方法
    • Python用20行代码实现完整邮件功能
    上一篇:Python开发工具Pycharm的安装以及使用步骤总结
    下一篇:Django REST framework 限流功能的使用
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信