• python smtplib发送邮件


    python 发送邮件

    smtplib模块负责发送邮件:是一个发送邮件的动作,连接邮箱服务器,登录邮箱,发送邮件(有发件人,收信人,邮件内容)。

    email模块负责构造邮件:指的是邮箱页面显示的一些构造,如发件人,收件人,主题,正文,附件等。

    email模块下有mime包,mime英文全称为“Multipurpose Internet Mail Extensions”,即多用途互联网邮件扩展,是目前互联网电子邮件普遍遵循的邮件技术规范。

    该mime包下常用的有三个模块:text,image,multpart

    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    from email.header import Header
    
    #邮件服务器信息
    smtp_server = "smtp.qq.com"
    port = 465  # For starttls
    sender_email = "12345689@qq.com"
    password=""  #get password from mailsetting
    
    #发送邮件信息,可以发送给多个收件人
    receivers=["12345689@163.com","12345689@qq.com"]
    subject="This is import Python SMTP 邮件(文件传输) 多媒体测试"
    
    # message = MIMEText(text, "plain", "utf-8") #文本邮件
    message = MIMEMultipart()
    message["Subject"] = Header(subject, "utf-8")
    message["from"] = sender_email
    message["to"] = ",".join(receivers)
    # 邮件正文内容
    text="""
    Dear Sir:
    how are you ? 
    
    for detail information pls refer to attach1。
    
    The files you need are as followed.
    
    If you have any concern pls let me known.
    
    enjoy your weekend.
    
    BEST REGARDS 
    
    """
    # message.attach(MIMEText('for detail information pls refer to attach1。
     The files you need are as followed. 
     If you have any concern pls let me known. 
     enjoy your weekend', 'plain', 'utf-8')
    message.attach(MIMEText(text,'plain','utf-8'))
    
    # 构造附件1
    attach_file1='IMG1965.JPG'
    
    attach1 = MIMEText(open(attach_file1, 'rb').read(), 'base64', 'utf-8')
    attach1["Content-Type"] = 'application/octet-stream'
    attach1["Content-Disposition"] = 'attachment; filename={0}'.format(attach_file1)
    message.attach(attach1)
    
    # 构造附件2
    attach_file2='YLJ.jpg'
    attach2 = MIMEText(open(attach_file2, 'rb').read(), 'base64', 'utf-8')
    attach2["Content-Type"] = 'application/octet-stream'
    attach2["Content-Disposition"] = 'attachment; filename={0}'.format(attach_file2)
    message.attach(attach2)
    
    # Try to log in to server and send email
    # server = smtplib.SMTP_SSL(smtp_server,port)
    server = smtplib.SMTP_SSL(smtp_server,port)
    
    try:
        server.login(sender_email, password)
        server.sendmail(sender_email,receivers,message.as_string())
        print("邮件发送成功!!!")
        print("Mail with {0} & {1} has been send to {2} successfully.".format(attach_file1,attach_file2,receivers))
    except Exception as e:
        # Print any error messages to stdout
        print("Error: 无法发送邮件")
        print(e)
    finally:
        server.quit()

    结果

    邮件发送成功!!!
    Mail with IMG1965.JPG & IMG1963.jpg has been send to ['12345689@163.com', '12345689@qq.com'] successfully.

  • 相关阅读:
    BigTale
    GFS Google File System(中文翻译)
    MapReduce
    Google MapReduce/GFS/BigTable三大技术的论文中译版
    Linux常用命令大全
    linux常用命令
    Oracle复杂查询
    jquery on事件jquery on实现绑定多个事件
    Java 多线程(六) synchronized关键字详解
    什么才算是真正的编程能力?
  • 原文地址:https://www.cnblogs.com/tingxin/p/12961901.html
Copyright © 2020-2023  润新知