zoukankan      html  css  js  c++  java
  • python发送邮件方法

    python发送邮件方法

    1、普通文本邮件

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    import smtplib
    from email.mime.text import MIMEText
    mail_user="xxxx@126.com" #发送邮件的邮箱
    mail_pass="xxxxxxx" #密码,口令
    mailto_list="xxxxx@qq.com" #接受邮件的邮箱
    mail_host="smtp.126.com" #设置服务器 例:smtp.126.com

    strstr='你好' #内容
    msg = MIMEText(strstr,'plain','utf-8') #邮件类型设置为plain
    msg['Subject'] = "主题" #主题
    msg['From'] = mail_user
    msg['To'] = mailto_list
    #邮件中文如果显示乱码,可以加上下面两句
    msg["Accept-Language"]="zh-CN"
    msg["Accept-Charset"]="ISO-8859-1,utf-8"

    server = smtplib.SMTP()
    server.connect(mail_host) #连接smtp邮件服务器
    server.login(mail_user,mail_pass) #登录
    server.sendmail(mail_user, mailto_list, msg.as_string()) #发送
    server.close() #关闭

    2、HTML格式邮件

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    mail_user="xxxxxxx@126.com" #发送邮件的邮箱
    mail_pass="xxxxxx" #口令
    mailto_list="xxxxxx@qq.com" #接收邮件的邮箱
    to_list=[mailto_list,]
    mail_host="smtp.126.com" #设置服务器

    msg = MIMEMultipart()
    msg['Subject'] = "主题" #主题
    msg['From'] = mail_user
    msg['To'] = mailto_list
    #正文
    #<img src="cid:image1">为图片显示位置
    strstr="""
    <html>
    <head>正文</head>
    <body>
    <h1>Hello</h1>
    <h2>你们好</h2>
    </body>
    </html>
    """
    htm=MIMEText(strstr,'html','utf-8') #邮件类型设置为html
    msg.attach(htm)

    server = smtplib.SMTP()
    server.connect(mail_host) #连接smtp邮件服务器
    server.login(mail_user,mail_pass) #登录
    server.sendmail(mail_user, to_list, msg.as_string()) #发送
    server.close() #关闭

    3、带附件的邮件

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    from email.mime.application import MIMEApplication
    mail_user="xxxx@126.com" #发送邮件的邮箱
    mail_pass="xxxxxxx" #口令
    mailto_list="xxxxx@qq.com" #接收邮件的邮箱
    to_list=[mailto_list,]
    mail_host="smtp.126.com" #设置服务器

    msg = MIMEMultipart()
    msg['Subject'] = "主题" #主题
    msg['From'] = mail_user
    msg['To'] = mailto_list
    #文字部分
    strstr="Hello" #文字内容
    att = MIMEText(strstr,'plain','utf-8')
    msg.attach(att)
    #附件
    att = MIMEApplication(open('E:\111.txt','rb').read()) #你要发送的附件地址
    att.add_header('Content-Disposition', 'attachment', filename="222.txt") #filename可随意取名
    msg.attach(att)

    server = smtplib.SMTP()
    server.connect(mail_host) #连接smtp邮件服务器
    server.login(mail_user,mail_pass) #登录
    server.sendmail(mail_user, to_list, msg.as_string()) #发送
    server.close() #关闭

    4、正文显示图片的邮件

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    from email.mime.image import MIMEImage
    mail_user="xxxxx@126.com" #发送邮件的邮箱
    mail_pass="xxxxxx" #口令
    mailto_list="xxxxxx@qq.com" #接收邮件的邮箱
    to_list=[mailto_list,]
    mail_host="smtp.126.com" #设置服务器

    msg = MIMEMultipart()
    msg['Subject'] = "主题" #主题
    msg['From'] = mail_user
    msg['To'] = mailto_list
    #正文
    #<img src="cid:image1">为图片显示位置
    strstr="""
    <html>
    <head>正文图片</head>
    <body>
    <p>Hello<br>
    你们好<br>
    <br><img src="cid:image1"></br>
    </p>
    </body>
    </html>
    """
    htm=MIMEText(strstr,'html','utf-8')
    msg.attach(htm)

    image = MIMEImage(open("F:\111.jpg",'rb').read())
    image.add_header('Content-ID','<image1>')
    msg.attach(image)

    server = smtplib.SMTP()
    server.connect(mail_host)
    server.login(mail_user,mail_pass)
    server.sendmail(mail_user,mailto_list,msg.as_string())
    server.quit()

  • 相关阅读:
    【ASP.NET 问题】IIS发布网站后出现 "处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误"的解决办法
    在引用阿里云库或其他库的时候,经常发生框架不兼容(原因是系统采用:Microsoft .NET Framework 4 Client Profile ),请改为Microsoft .NET Framework 4
    jquery之cookie操作
    Kubernetes Pod 镜像拉取策略
    Kubernetes 远程工具连接k8s集群
    Kubernetes 部署Web UI (Dashboard)
    Kubernetes 企业级集群部署方式
    Prometheus 运维监控
    Prometheus 编写告警规则案例
    Prometheus 一条告警的触发流程、等待时间
  • 原文地址:https://www.cnblogs.com/duanlinxiao/p/9820795.html
Copyright © 2011-2022 走看看