• Python 模块-email


    PYTHON发送邮件

    一,普通文本发送

    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
    
    sender = '发送邮箱'
    password = "发送邮箱密码"
    receivers = ['收件人']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
    
    mail_msg = """
    <p>Python 邮件发送测试...</p>
    <p><a href="http://www.baidu.com">这是一个链接</a></p>
    """
    message = MIMEText(mail_msg, 'html', 'utf-8')
    message['From'] = Header("测试测试", 'utf-8')
    message['To'] = Header("测试", 'utf-8')
    
    subject = 'Python SMTP 邮件测试'
    message['Subject'] = Header(subject, 'utf-8')
    
    try:
        server = smtplib.SMTP_SSL("smtp.qq.com", 465)  # 发件人邮箱中的SMTP服务器,端口是25
        server.login(sender, password)  # 括号中对应的是发件人邮箱账号、邮箱密码
        server.sendmail(sender, receivers, message.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
        server.quit()  # 关闭连接
        print("邮件发送成功")
    except smtplib.SMTPException:
        print("Error: 无法发送邮件")

    二、带图片发送

     

    import smtplib
    from email.header import Header
    from email.mime.text import MIMEText
    from email.mime.image import MIMEImage
    from email.mime.multipart import MIMEMultipart
    
    # 发件人地址
    from_addr = "发送邮箱"
    password = "发送邮箱密码"
    to_addr = ["收件邮箱"]
    smtp_server = "smtp.qq.com"
    
    msg = MIMEMultipart('related')
    
    message = """
    <p>Python 邮件发送测试...</p>
    <p><a href="http://www.baidu.com">这是一个链接</a></p>
    <p>图片演示</p>
    <p><img src="cid:image1"></p>
    """
    
    msg['From'] = Header("测试", 'utf-8')
    msg["To"] = Header("测试", 'utf-8')
    msg["Subject"] = Header("测试邮件发送-添加附件", 'utf-8').encode()
    
    msgAlternative = MIMEMultipart('alternative')
    msg.attach(msgAlternative)
    
    msgAlternative.attach(MIMEText(message, 'html', 'utf-8'))
    
    fp = open('data/1.jpg', 'rb')
    msgImag = MIMEImage(fp.read())
    fp.close()
    
    msgImag.add_header('Content-ID', '<image1>')
    msg.attach(msgImag)
    
    server = smtplib.SMTP_SSL(smtp_server, 465)
    server.login(from_addr, password)
    server.sendmail(from_addr, to_addr, msg.as_string())
    server.quit()

    三、附件发送

    import smtplib
    from email.header import Header
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    
    # 发件人地址
    from_addr = "发件邮箱"
    password = "发件邮箱密码"
    to_addr = ["收件邮箱"]
    smtp_server = "smtp.qq.com"
    
    msg = MIMEMultipart()
    
    msg['From'] = Header("测试", 'utf-8')
    msg["To"] = Header("测试", 'utf-8')
    msg["Subject"] = Header("测试邮件发送-添加附件", 'utf-8').encode()
    
    msg.attach(MIMEText("这是python测试邮件发送,并添加了附件", 'plain', 'utf-8'))
    
    att1 = MIMEText(open('data/testemail2.txt', 'rb').read(), 'base64', 'utf-8')
    att1['Content-Type'] = 'application/octet-stream'
    att1['Content-Disposition'] = 'attachment;filename="testemail2.txt"'
    msg.attach(att1)
    
    att2 = MIMEText(open('data/testemail.txt', 'rb').read(), 'base64', 'utf-8')
    att2['Content-Type'] = 'application/octet-stream'
    att2['Content-Disposition'] = 'attachment;filename="testemail.txt"'
    msg.attach(att2)
    
    server = smtplib.SMTP_SSL(smtp_server, 465)
    server.login(from_addr, password)
    server.sendmail(from_addr, to_addr, msg.as_string())
    server.quit()

    s

  • 相关阅读:
    ‘Host’ is not allowed to connect to this mysql server
    centos7安装mysql
    further configuration avilable 不见了
    Dynamic Web Module 3.0 requires Java 1.6 or newer
    hadoop启动 datanode的live node为0
    ssh远程访问失败 Centos7
    Linux 下的各种环境安装
    Centos7 安装 python2.7
    安装scala
    Centos7 安装 jdk 1.8
  • 原文地址:https://www.cnblogs.com/Linc2010/p/8598423.html
Copyright © 2020-2023  润新知