如何使用Python发送HTML格式的邮件

 更新时间:2020年02月11日 10:53:51   作者:xushukui  
这篇文章主要介绍了如何使用Python发送HTML格式的邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了如何使用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脚本,可以实现定期批量访问网站,如果发现网站打不开,第一时间发邮件到管理员邮箱进行预警。有需要的可以参考借鉴。
    2016-08-08
  • pandas中的series数据类型详解

    pandas中的series数据类型详解

    这篇文章主要介绍了pandas中的series数据类型详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 十个惊艳的Pythonic单行代码

    十个惊艳的Pythonic单行代码

    自从用 Python 编写第一行代码以来,我就被它的简单性、出色的可读性和流行的单行代码所吸引。在本文中,将为大家介绍和解释其中的一些单行代码,希望对大家有所帮助
    2022-12-12
  • python使用PIL把透明背景图片转成白色背景的示例代码

    python使用PIL把透明背景图片转成白色背景的示例代码

    当我们在采集一些图片的时候,这些图片的背景经常是透明的,但是如何把透明背景转成白色背景呢,接下来就给大家解决这个问题,本文主要介绍了python使用PIL把透明背景图片转成白色背景,需要的朋友可以参考下
    2023-08-08
  • Python的re模块正则表达式操作

    Python的re模块正则表达式操作

    这篇文章主要介绍了Python的re模块正则表达式操作 的相关资料,需要的朋友可以参考下
    2016-05-05
  • 关于PyQt5中QtGui.QImage图片显示问题解析

    关于PyQt5中QtGui.QImage图片显示问题解析

    PyQt作为Qt语言的Python扩展,可以用来方便快速的开发界面应用,本文重点给大家介绍PyQt5中的QtGui.QImage图片显示问题分析,需要的朋友可以参考下
    2022-03-03
  • Python获取网页数据的五种方法

    Python获取网页数据的五种方法

    在 Python 中,爬虫用于自动化获取网页数据,你可以使用多种方法来抓取网页内容,具体使用哪种方法取决于网页的结构、内容类型以及你所需的精确度,以下是常见的 5 种获取网页数据的方式,需要的朋友可以参考下
    2025-01-01
  • Python编程异步爬虫之aiohttp模块的基本用法

    Python编程异步爬虫之aiohttp模块的基本用法

    aiohttp 模块是一个基于 asyncio 的 HTTP 客户端和服务器框架,可以用于异步处理 HTTP 请求和响应,这篇文章给大家介绍Python编程异步爬虫之aiohttp模块的基本用法,感兴趣的朋友一起看看吧
    2024-03-03
  • Pandas merge合并两个DataFram的实现

    Pandas merge合并两个DataFram的实现

    本文主要介绍了Pandas merge合并两个DataFram的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • python 字典中取值的两种方法小结

    python 字典中取值的两种方法小结

    今天小编就为大家分享一篇python 字典中取值的两种方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08

最新评论