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


Posted in Python onFebruary 11, 2020

这篇文章主要介绍了如何使用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发送HTML格式的邮件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python温度转换实例分析
Jan 17 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
用python处理图片之打开\显示\保存图像的方法
May 04 Python
利用python GDAL库读写geotiff格式的遥感影像方法
Nov 29 Python
解决python ogr shp字段写入中文乱码的问题
Dec 31 Python
用Python爬取QQ音乐评论并制成词云图的实例
Aug 24 Python
使用IDLE的Python shell窗口实例详解
Nov 19 Python
Django中使用Json返回数据的实现方法
Jun 03 Python
Flask缓存静态文件的具体方法
Aug 02 Python
python中如何使用虚拟环境
Oct 14 Python
Python+uiautomator2实现自动刷抖音视频功能
Apr 29 Python
Python手拉手教你爬取贝壳房源数据的实战教程
May 21 Python
python模式 工厂模式原理及实例详解
Feb 11 #Python
Python3搭建http服务器的实现代码
Feb 11 #Python
tensorflow实现二维平面模拟三维数据教程
Feb 11 #Python
python线程join方法原理解析
Feb 11 #Python
使用Python求解带约束的最优化问题详解
Feb 11 #Python
python 非线性规划方式(scipy.optimize.minimize)
Feb 11 #Python
使用遗传算法求二元函数的最小值
Feb 11 #Python
You might like
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
php使用cookie显示用户上次访问网站日期的方法
2015/01/26 PHP
php实现插入排序
2015/03/29 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
Javascript动态绑定事件的简单实现代码
2010/12/25 Javascript
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
使用canvas实现仿新浪微博头像截取上传功能
2015/09/02 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
AngularJS实现一次监听多个值发生的变化
2016/08/31 Javascript
微信小程序实现的涂鸦功能示例【附源码下载】
2018/01/12 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
nodejs 十六进制字符串型数据与btye型数据相互转换
2018/07/30 NodeJs
详解Node.js 中使用 ECDSA 签名遇到的坑
2018/11/26 Javascript
vue使用keep-alive保持滚动条位置的实现方法
2019/04/09 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
[05:16]《大圣!大圣》——DOTA2新英雄齐天大圣配音李世宏老师专访
2016/12/13 DOTA
Python映射拆分操作符用法实例
2015/05/19 Python
Python信息抽取之乱码解决办法
2017/06/29 Python
python实现中文文本分句的例子
2019/07/15 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
Python 异常处理Ⅳ过程图解
2019/10/18 Python
python实现操作文件(文件夹)
2019/10/31 Python
python 利用百度API识别图片文字(多线程版)
2020/12/14 Python
html5新增的定时器requestAnimationFrame实现进度条功能
2018/12/13 HTML / CSS
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
俄罗斯护发和专业化妆品购物网站:Hihair
2019/09/28 全球购物
毕业生物理教师求职信
2013/10/17 职场文书
仓库门卫岗位职责
2013/12/22 职场文书
青年创业培训欢迎词
2014/01/10 职场文书
销售人员职业生涯规划范文
2014/03/01 职场文书
大学生入党积极分子党校学习思想汇报
2014/10/25 职场文书
Win10玩csgo闪退如何解决?Win10玩csgo闪退的解决方法
2022/07/23 数码科技
前端传参数进行Mybatis调用mysql存储过程执行返回值详解
2022/08/14 MySQL