• Python 发送邮件案例


    文件形式的邮件

    #!/usr/bin/env python
    #coding: utf-8  
    import smtplib  
    from email.mime.text import MIMEText  
    from email.header import Header  
      
    sender = '***'  
    receiver = '***'  
    subject = 'test'  
    smtpserver = 'xxx'  
    username = '***'  
    password = '***'  
      
    msg = MIMEText('你好','text','utf-8')#中文需参数‘utf-8’,单字节字符不需要  
    msg['Subject'] = Header(subject, 'utf-8')  
      
    smtp = smtplib.SMTP()  
    smtp.connect('smtp.163.com')  
    smtp.login(username, password)  
    smtp.sendmail(sender, receiver, msg.as_string())  
    smtp.quit()  
    

    HTML形式的邮件

    #!/usr/bin/env python
    #coding: utf-8  
    import smtplib  
    from email.mime.text import MIMEText  
      
    sender = '***'  
    receiver = '***'  
    subject = 'test'  
    smtpserver = 'xxx'  
    username = '***'  
    password = '***'  
      
    msg = MIMEText('<html><h1>你好</h1></html>','html','utf-8')  
      
    msg['Subject'] = subject  
      
    smtp = smtplib.SMTP()  
    smtp.connect('smtp.163.com')  
    smtp.login(username, password)  
    smtp.sendmail(sender, receiver, msg.as_string())  
    smtp.quit()  
    

    带图片的HTML邮件

    #!/usr/bin/env python
    #coding: utf-8  
    import smtplib  
    from email.mime.multipart import MIMEMultipart  
    from email.mime.text import MIMEText  
    from email.mime.image import MIMEImage  
      
    sender = '***'  
    receiver = '***'  
    subject = 'test'  
    smtpserver = 'xxx'  
    username = '***'  
    password = '***'  
      
    msgRoot = MIMEMultipart('related')  
    msgRoot['Subject'] = 'test message'  
      
    msgText = MIMEText('<b>Some <i>HTML</i> text</b> and an image.<br><img src="cid:image1"><br>good!','html','utf-8')  
    msgRoot.attach(msgText)  
      
    fp = open('h:\python\1.jpg', 'rb')  
    msgImage = MIMEImage(fp.read())  
    fp.close()  
      
    msgImage.add_header('Content-ID', '<image1>')  
    msgRoot.attach(msgImage)  
      
    smtp = smtplib.SMTP()  
    smtp.connect('smtp.163.com')  
    smtp.login(username, password)  
    smtp.sendmail(sender, receiver, msgRoot.as_string())  
    smtp.quit()  
    

    带附件的邮件

    #!/usr/bin/env python 
    #coding: utf-8  
    import smtplib  
    from email.mime.multipart import MIMEMultipart  
    from email.mime.text import MIMEText  
    from email.mime.image import MIMEImage  
      
    sender = '***'  
    receiver = '***'  
    subject = 'test'  
    smtpserver = 'xxx'  
    username = '***'  
    password = '***'  
      
    msgRoot = MIMEMultipart('related')  
    msgRoot['Subject'] = 'test message'  
      
    #构造附件  
    att = MIMEText(open('h:\python\1.jpg', 'rb').read(), 'base64', 'utf-8')  
    att["Content-Type"] = 'application/octet-stream'  
    att["Content-Disposition"] = 'attachment; filename="1.jpg"'  
    msgRoot.attach(att)  
              
    smtp = smtplib.SMTP()  
    smtp.connect('smtp.163.com')  
    smtp.login(username, password)  
    smtp.sendmail(sender, receiver, msgRoot.as_string())  
    smtp.quit()  
    

    群邮件

    #!/usr/bin/env python
    #coding: utf-8  
    import smtplib  
    from email.mime.text import MIMEText  
      
    sender = '***'  
    receiver = ['***','****',……]  
    subject = 'test'  
    smtpserver = 'xxx'  
    username = '***'  
    password = '***'  
      
    msg = MIMEText('你好','text','utf-8')  
      
    msg['Subject'] = subject  
      
    smtp = smtplib.SMTP()  
    smtp.connect('smtp.163.com')  
    smtp.login(username, password)  
    smtp.sendmail(sender, receiver, msg.as_string())  
    smtp.quit()  
    

    各种元素都包含的邮件

    #!/usr/bin/env python3  
    #coding: utf-8  
    import smtplib  
    from email.mime.multipart import MIMEMultipart  
    from email.mime.text import MIMEText  
    from email.mime.image import MIMEImage  
      
    sender = '***'  
    receiver = '***'  
    subject = 'test'  
    smtpserver = 'xxx'  
    username = '***'  
    password = '***'  
      
    # Create message container - the correct MIME type is multipart/alternative.  
    msg = MIMEMultipart('alternative')  
    msg['Subject'] = "Link"  
      
    # Create the body of the message (a plain-text and an HTML version).  
    text = "Hi!
    How are you?
    Here is the link you wanted:
    http://www.python.org"  
    html = """ 
    <html> 
      <head></head> 
      <body> 
        <p>Hi!<br> 
           How are you?<br> 
           Here is the <a href="http://www.python.org">link</a> you wanted. 
        </p> 
      </body> 
    </html> 
    """  
      
    # Record the MIME types of both parts - text/plain and text/html.  
    part1 = MIMEText(text, 'plain')  
    part2 = MIMEText(html, 'html')  
      
    # Attach parts into message container.  
    # According to RFC 2046, the last part of a multipart message, in this case  
    # the HTML message, is best and preferred.  
    msg.attach(part1)  
    msg.attach(part2)  
    #构造附件  
    att = MIMEText(open('h:\python\1.jpg', 'rb').read(), 'base64', 'utf-8')  
    att["Content-Type"] = 'application/octet-stream'  
    att["Content-Disposition"] = 'attachment; filename="1.jpg"'  
    msg.attach(att)  
         
    smtp = smtplib.SMTP()  
    smtp.connect('smtp.163.com')  
    smtp.login(username, password)  
    smtp.sendmail(sender, receiver, msg.as_string())  
    smtp.quit()  
    

     基于SSL的邮件

    #!/usr/bin/env python  
    #coding: utf-8  
    import smtplib  
    from email.mime.text import MIMEText  
    from email.header import Header  
    sender = '***'  
    receiver = '***'  
    subject = 'test'  
    smtpserver = 'xxx'  
    username = '***'  
    password = '***'  
      
    msg = MIMEText('你好','text','utf-8')#中文需参数‘utf-8’,单字节字符不需要  
    msg['Subject'] = Header(subject, 'utf-8')  
      
    smtp = smtplib.SMTP()  
    smtp.connect('smtp.163.com')  
    smtp.ehlo()  
    smtp.starttls()  
    smtp.ehlo()  
    smtp.set_debuglevel(1)  
    smtp.login(username, password)  
    smtp.sendmail(sender, receiver, msg.as_string())  
    smtp.quit()  
    
  • 相关阅读:
    通过字符串调用函数
    First,FirstOrDefault和Single,SingleOrDefault 的区别
    asp循环例子
    将il文件和资源文件生成dll工具
    C# 修改资源文件工具ResourceNet4
    北京ip
    实验1、Mininet 源码安装和可视化拓扑工具
    实验2:Mininet 实验——拓扑的命令脚本生成
    ajax post data 获取不到数据,注意 contenttype的设置 、post/get
    调试提示:当前不会命中断点
  • 原文地址:https://www.cnblogs.com/qianyuliang/p/7886256.html
Copyright © 2020-2023  润新知