zoukankan      html  css  js  c++  java
  • <转>python 发送邮件实例

    文件形式的邮件

    #!/usr/bin/env python3  
    #coding: utf-8  
    import smtplib  
    from email.mime.text import MIMEText  
    from email.header import Header  
      
    sender = '***'  
    receiver = '***'  
    subject = 'python email test'  
    smtpserver = 'smtp.163.com'  
    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 python3  
    #coding: utf-8  
    import smtplib  
    from email.mime.text import MIMEText  
      
    sender = '***'  
    receiver = '***'  
    subject = 'python email test'  
    smtpserver = 'smtp.163.com'  
    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 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 = 'python email test'  
    smtpserver = 'smtp.163.com'  
    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 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 = 'python email test'  
    smtpserver = 'smtp.163.com'  
    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 python3  
    #coding: utf-8  
    import smtplib  
    from email.mime.text import MIMEText  
      
    sender = '***'  
    receiver = ['***','****',……]  
    subject = 'python email test'  
    smtpserver = 'smtp.163.com'  
    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 = 'python email test'  
    smtpserver = 'smtp.163.com'  
    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 python3  
    #coding: utf-8  
    import smtplib  
    from email.mime.text import MIMEText  
    from email.header import Header  
    sender = '***'  
    receiver = '***'  
    subject = 'python email test'  
    smtpserver = 'smtp.163.com'  
    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()  

    文件形式的邮件

    #!/usr/bin/env python3  
    #coding: utf-8  
    import smtplib  
    from email.mime.text import MIMEText  
    from email.header import Header  
      
    sender = '***'  
    receiver = '***'  
    subject = 'python email test'  
    smtpserver = 'smtp.163.com'  
    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 python3  
    #coding: utf-8  
    import smtplib  
    from email.mime.text import MIMEText  
      
    sender = '***'  
    receiver = '***'  
    subject = 'python email test'  
    smtpserver = 'smtp.163.com'  
    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 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 = 'python email test'  
    smtpserver = 'smtp.163.com'  
    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 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 = 'python email test'  
    smtpserver = 'smtp.163.com'  
    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 python3  
    #coding: utf-8  
    import smtplib  
    from email.mime.text import MIMEText  
      
    sender = '***'  
    receiver = ['***','****',……]  
    subject = 'python email test'  
    smtpserver = 'smtp.163.com'  
    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 = 'python email test'  
    smtpserver = 'smtp.163.com'  
    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 python3  
    #coding: utf-8  
    import smtplib  
    from email.mime.text import MIMEText  
    from email.header import Header  
    sender = '***'  
    receiver = '***'  
    subject = 'python email test'  
    smtpserver = 'smtp.163.com'  
    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()  
  • 相关阅读:
    ASP.NET Web API 框架研究 Self Host模式下的消息处理管道
    ASP.NET Web API 框架研究 Web Host模式下的消息处理管道
    ASP.NET Web API 框架研究 核心的消息处理管道
    ASP.NET Web API 框架研究 Web Host模式路由及将请求转出到消息处理管道
    ASP.NET Web API 框架研究 ASP.NET Web API 路由
    ASP.NET Web API 框架研究 ASP.NET 路由
    ASP.NET Web API 入门 (API接口、寄宿方式、HttpClient调用)
    MVVM模式
    RESTful Web API 理解
    C# 函数式编程及Monads.net库
  • 原文地址:https://www.cnblogs.com/sexybear/p/Python_email.html
Copyright © 2011-2022 走看看