如何使用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将人民币转换大写的脚本代码
Feb 10 Python
python服务器端收发请求的实现代码
Sep 29 Python
Python中__init__.py文件的作用详解
Sep 18 Python
python实现list元素按关键字相加减的方法示例
Jun 09 Python
Python探索之创建二叉树
Oct 25 Python
python利用requests库进行接口测试的方法详解
Jul 06 Python
详解Django中CBV(Class Base Views)模型源码分析
Feb 25 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
Jun 28 Python
Python读取YAML文件过程详解
Dec 30 Python
在matplotlib中改变figure的布局和大小实例
Apr 23 Python
解决pytorch 的state_dict()拷贝问题
Mar 03 Python
python机器学习Github已达8.9Kstars模型解释器LIME
Nov 23 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
定制404错误页面,并发信给管理员的程序
2006/10/09 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
2015/01/30 PHP
在WordPress中使用wp-cron插件来设置定时任务
2015/12/10 PHP
php 如何设置一个严格控制过期时间的session
2017/05/05 PHP
一个高效的JavaScript压缩工具下载集合
2007/03/06 Javascript
javascript 从if else 到 switch case 再到抽象
2010/07/17 Javascript
javascript多种数据类型表格排序代码分析
2010/09/11 Javascript
Jquery同辈元素选中/未选中效果的实例代码
2013/08/01 Javascript
动态加载dtree.js树treeview(示例代码)
2013/12/17 Javascript
js中数组(Array)的排序(sort)注意事项说明
2014/01/24 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
jQuery过滤选择器经典应用
2016/08/18 Javascript
利用Node.JS实现邮件发送功能
2016/10/21 Javascript
微信小程序 设置启动页面的两种方法
2017/03/09 Javascript
vue.js 初体验之Chrome 插件开发实录
2017/05/13 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
2019/08/02 Javascript
layer的prompt弹出框,点击回车,触发确定事件的方法
2019/09/06 Javascript
解决Vue-cli无法编译es6的问题
2020/10/30 Javascript
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
在Python中使用lambda高效操作列表的教程
2015/04/24 Python
python基于ID3思想的决策树
2018/01/03 Python
利用Python yagmail三行代码实现发送邮件
2018/05/11 Python
解决PyCharm同目录下导入模块会报错的问题
2018/10/13 Python
python中dict使用方法详解
2019/07/17 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
2020/08/17 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
Book Depository欧盟:一家领先的国际图书零售商
2019/05/21 全球购物
公共汽车、火车和飞机票的通用在线预订和销售平台:INFOBUS
2019/11/30 全球购物
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
2015/08/04 面试题
奥巴马上海演讲稿
2014/09/10 职场文书
公务员个人总结
2015/02/12 职场文书
宇宙与人观后感
2015/06/05 职场文书
浅谈Python基础之列表那些事儿
2021/05/11 Python
JS数组方法some、every和find的使用详情
2021/10/05 Javascript