如何使用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 元组(Tuple)操作详解
Mar 11 Python
使用Python的urllib2模块处理url和图片的技巧两则
Feb 18 Python
python实现神经网络感知器算法
Dec 20 Python
Python实现批量读取图片并存入mongodb数据库的方法示例
Apr 02 Python
Python3之读取连接过的网络并定位的方法
Apr 22 Python
Python中Numpy包的安装与使用方法简明教程
Jul 03 Python
Python中捕获键盘的方式详解
Mar 28 Python
pytorch对梯度进行可视化进行梯度检查教程
Feb 04 Python
Jupyter notebook快速入门教程(推荐)
May 18 Python
python操作ini类型配置文件的实例教程
Oct 30 Python
Python实战之实现康威生命游戏
Apr 26 Python
FP-growth算法发现频繁项集——发现频繁项集
Jun 24 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获取网址的顶级域名函数代码
2012/09/24 PHP
PHP中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
YII路径的用法总结
2014/07/09 PHP
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
jQuery动态添加的元素绑定事件处理函数代码
2011/08/02 Javascript
js的toUpperCase方法用法实例
2015/01/27 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
javascript实现框架高度随内容改变的方法
2015/07/23 Javascript
实例讲解JavaScript中instanceof运算符的用法
2016/06/08 Javascript
js 点击a标签 获取a的自定义属性方法
2016/11/21 Javascript
从零学习node.js之搭建http服务器(二)
2017/02/21 Javascript
js评分组件使用详解
2017/06/06 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
详细分析vue表单数据的绑定
2020/07/20 Javascript
Vuex实现简单购物车
2021/01/10 Vue.js
[03:32]2014DOTA2西雅图邀请赛 CIS外卡赛赛前black专访
2014/07/09 DOTA
Python Socket编程入门教程
2014/07/11 Python
Python中实现常量(Const)功能
2015/01/28 Python
Python字符串拼接、截取及替换方法总结分析
2016/04/13 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
pandas 选取行和列数据的方法详解
2019/08/08 Python
Django实现列表页商品数据返回教程
2020/04/03 Python
大学毕业登记表自我鉴定
2013/10/09 职场文书
《春晓》教学反思
2014/04/20 职场文书
奥巴马连任演讲稿
2014/05/15 职场文书
教师先进事迹材料
2014/12/16 职场文书
跟班学习心得体会(共6篇)
2016/01/23 职场文书
vue前端工程的搭建
2021/03/31 Vue.js
Redis 常见使用场景
2021/08/30 Redis
Win11任务栏太宽了怎么办?一招解决Win11任务栏太宽问题
2021/11/21 数码科技