• SSL连接形式发送邮件


    用QQ邮箱给自己发送文本邮件:

    简单的邮件传输协议SMTP,用于在邮件服务器之间发送电子邮件

    Python提供了smtplib模块,使用该模块可以进行接收发送邮件和监听这样一个过程

    格式为:

    import smptlib

    smpt_object = smptlib.SMPT(host,port,local_hostname)

    host:运行SMTP服务器的主机

    port:主机端口

    local_hostname:如果在本地运行,则指定localhost

    SMTP对象下有一个sendmail()方法,该方法用于执行邮件发送工作;有三个参数 from_addr, to_addrs, msg,分别为发件人、收件人和发送的信息

    from smtplib import SMTP_SSL
    from email.mime.text import  MIMEText
    from email.header import Header
    
    def senreport():
        #QQ邮箱的SMTP服务器地址
        host_server = "smtp.qq.com"
        # 发件人QQ邮箱
        sender = "发件人"
        # 授权码
        pwd = "授权码"
        # 收件人
        receiver = "收件人"
    
        # 邮件正文内容
        mail_content = "测试邮件"
        # 邮件标题
        mail_title = "测试报告"
    
        # QQ邮箱是由SSL的
        # SSL登录
        smtp = SMTP_SSL(host_server)
        # 用来调试,1表示打开,0表示关闭
        smtp.set_debuglevel(1)
        # 服务器名
        smtp.ehlo(host_server)
        # 登录
        smtp.login(sender,pwd)
        # 邮件正文,格式为默认的,字符集为utf-8
        msg=MIMEText(mail_content,"plain","utf-8")
        # 邮件头
        msg["Subject"] = Header(mail_content,"utf-8")
        msg["From"]=sender
        msg["To"]=receiver
        smtp.sendmail(sender,receiver,msg.as_string())
        # 退出
        smtp.quit()
    
    # 测试一下
    senreport()

    测试之后能成功发送并接收邮件

    给多人发送邮件时,就在收件人那里改一下,以列表的形式存放收件人邮箱地址,然后再把msg["To"]去掉即可

  • 相关阅读:
    鸟哥linux——分区命令:split
    鸟哥linux——管线命令
    鸟哥linux——命令执行的判断依据:;,&&,||
    linux:数据流重导向
    Tensorflow计算模型——计算图
    DNS域名解析与本机Host
    相似图片搜索的原理
    谈谈回文子串
    关于字符串精确匹配
    音频采样
  • 原文地址:https://www.cnblogs.com/bigbigtong/p/10274861.html
Copyright © 2020-2023  润新知