zoukankan      html  css  js  c++  java
  • 使用Python发送HTML格式的邮件(收到的邮件有发送方才是正解)

    发送html格式的和普通文本格式差不多,只是MIMEText(content,"html","utf-8"))与MIMEText(content,"plain","utf-8"))格式的区别,格式改一下就行了

    
    Python发送HTML格式的邮件与发送纯文本消息的邮件不同之处就是将MIMEText中_subtype设置为html。具体代码如下:
    
    #"-*- coding: utf-8 -*-"
    import smtplib
    from email.mime.text import MIMEText
    
    mail_user = raw_input("请输入你的163邮箱: ")
    mail_password = raw_input("请输入邮箱授权码: ")
    mail_from = raw_input("来自: ")
    mail_sub = raw_input("邮件主题: ")
    mail_content = raw_input("邮件内容: ") #例如: html格式的: "<a href='http://www.cnblogs.com/xiaowuyi'>小五义</a>"
    #mailto_list = raw_input("")   #qq邮箱
    mail_host="smtp.163.com"
    mail_postfix="163.com"
    
    def sendmail(sub,content):
        me=mail_from+"<"+mail_user+">"
        msg=MIMEText(content,"html","utf-8")
        msg['Subject']=sub
        msg['From']=me
        to_list = map(None, raw_input("发送给: ").split(' '))
        msg['To']=",".join(to_list)
        try:
            server=smtplib.SMTP()
            server.connect(mail_host)
            server.login(mail_user,mail_password)
            server.sendmail(me,to_list,msg.as_string())
            server.close()
            return True
        except Exception,e:
            print str(e)
            return False
    if sendmail(mail_sub, mail_content):
        print "done!"
    else:
        print "falsed!"
    
    
    
    
    #第二种方法:
    #!/usr/bin/python
    #-*- coding: utf-8 -*-
    
    from email import encoders
    from email.header import Header
    from email.mime.text import MIMEText
    from email.utils import parseaddr, formataddr
    import smtplib
    
    
    mailer_name=raw_input("from: ")
    mail_user=raw_input("163 email address: ")
    mail_pass=raw_input("邮箱授权码: ")
    mail_content=raw_input("content: ")   #邮件内容是html格式的
    mail_host="smtp.163.com"
    mail_postfix="163.com"
    
    def send_mail(sub,content):
      me=mailer_name +"<"+mail_user+">"
      msg=MIMEText(content,"html","utf-8")
      msg['Subject']=sub
      msg['From']=me
      to_list = map(None,raw_input("mail_to: ").split(" "))#可以群发
      msg['To']=",".join(to_list)
      try:
        server=smtplib.SMTP()
        server.connect(mail_host)
        server.login(mail_user,mail_pass)
        server.sendmail(me,to_list,msg.as_string())
        server.close()
        return True
      except Exception,e:
        print str(e)
        return False
    if send_mail("邮件",mail_content):
      print "done!"
    else:
      print "failed!"
    

    有上面图片上的发件人信息,才能回复邮件,才是正确的姿势

  • 相关阅读:
    python可变的参数列表
    python函数中的关键字参数
    python中的else子句
    python3中的range函数
    python列表和分片
    jmeter 参数化四种方式
    redis集群和单点可以共存
    localhost与127.0.0.1的区别是什么
    Pytest单元测试框架-Pytest环境安装
    Nginx、HAProxy、LVS三者的优缺点
  • 原文地址:https://www.cnblogs.com/nyist-xsk/p/8808699.html
Copyright © 2011-2022 走看看