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()  
  • 相关阅读:
    web前端知识体系大全【欢迎补充】
    ESA2GJK1DH1K基础篇: 阿里云物联网平台: 云平台显示单片机采集的温湿度数据,控制设备继电器(基于ESP8266,AT指令TCP_MQTT通信)(V0.1)
    ESA2GJK1DH1K基础篇: 阿里云物联网平台: 使用阿里云物联网平台提供的物理模型Topic通信控制(ESP8266,TCP透传指令)
    ESA2GJK1DH1K基础篇: 阿里云物联网平台: 使用阿里云物联网平台提供的自定义Topic通信控制(ESP8266,TCP透传指令)
    ESA2GJK1DH1K基础篇: 关于各大物联网平台的MQTT通信
    ESA2GJK1DH1K微信小程序篇: 小程序连接MQTT简单的Demo
    Android 开发基础入门: Android Studio 导入工程
    Android 开发基础入门: android studio安装教程
    ESA2GJK1DH1K升级篇: 移植远程更新程序到STM32F103RET6型号的单片机,基于(GPRS模块AT指令TCP透传方式)
    【传输协议】http协议GET与POST传递数据的最大长度能够达到多少
  • 原文地址:https://www.cnblogs.com/sexybear/p/Python_email.html
Copyright © 2011-2022 走看看