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!"
    

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

  • 相关阅读:
    Angular 组件通信的三种方式
    Vue 之keep-alive的使用,实现页面缓存
    Angular Service设计理念及使用
    Git提交规范
    angular的生命周期
    CPU 是如何认识和执行代码的
    Ubuntu 常用软件
    UltraSQL / sqlserver-kit (SQLServer DBA )高手
    便宜的网站模板下载
    Audio over Bluetooth: most detailed information about profiles, codecs, and devices
  • 原文地址:https://www.cnblogs.com/nyist-xsk/p/8808699.html
Copyright © 2011-2022 走看看