python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】


Posted in Python onJuly 06, 2019

本文实例讲述了python 实现的发送邮件模板。分享给大家供大家参考,具体如下:

##发送普通txt文件(与发送html邮件不同的是邮件内容设置里的type设置为text,下面代码为发送普通邮件的另一种方法)
import smtplib
import string
from email.mime.text import MIMEText
from email.utils import formataddr
host = 'smtp.263.net'    ##定义smtp主机
SUBJECT = "test smtplib"  #定义邮件主题
TO = "xx@xx.com"   ##邮件接收人
FROM = "xxxx@xx.com"       ##邮件发送人
text = "content"              #邮件内容
###拼接邮件主体内容
BODY = "\r\n".join(("From %s:" % FROM,"To: %s" % TO,"Subject:%s" % SUBJECT,"",text)).encode("utf-8")
server = smtplib.SMTP()       #创建smtp对象
server.connect(host,"25")      ##通过connect方法连接smtp主机
server.starttls()        ##启动安全传输模式
server.login("xxx@huixxx.com",'GAxxx@xxx')    ##邮箱账号登录
server.sendmail(FROM,[TO],BODY)
server.quit()                    ##断开smtp连接

发送html邮件

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
HOST = 'smtp.263.net'    ##定义smtp主机
SUBJECT = "test smtplib"  #定义邮件主题
TO = "xxx@xxx.com"   ##邮件接收人(可以为一个列表)
FROM = "xxx@xxx.com"       ##邮件发送人
text = "content"              #邮件内容
def sendmail():
  msg = MIMEText(content,_subtype='html',_charset='utf-8')
##邮件内容,content邮件内容,plain为邮件类型,charset为字符集
  msg['From'] = FROM
  msg['To'] = TO





#如果此处为列表(';'.join(to_list))
  msg['Subject'] = SUBJECT
  server = smtplib.SMTP("smtp.263.net",25)
  server.login("aa@aa.com.cn","xxxxx")

#发送者的用户名和密码
  server.sendmail(FROM,TO,msg.as_string())
  server.quit()
sendmail()

发送带附件的邮件

from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import smtplib
#创建一个带附件的实例
msg = MIMEMultipart()
#构造附件1
file1 = MIMEText(open('d:\\123.rar', 'rb').read(), 'base64', 'utf-8')
file1["Content-Type"] = 'application/octet-stream'
file1["Content-Disposition"] = 'attachment; filename="123.doc"' #这里的filename可以任意写,写什么名字,邮件中显示什么名字
msg.attach(file1)
#加邮件头
msg['to'] = 'YYY@YYY.com'
msg['from'] = 'XXX@XXX.com'
msg['subject'] = 'hello world'#邮件主题
#发送邮件
server = smtplib.SMTP()
server.connect('smtp.XXX.com',"25")
server.login('XXX','XXXXX')


#XXX为用户名,XXXXX为密码
server.sendmail(msg['from'], msg['to'],msg.as_string())
server.quit()

发送带图片的邮件

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
msg['From'] = "XXX@XXX.com"   #邮件发件人
msg['To'] = "YYY@YYY.com"     #邮件接收人
msg['Subject'] = "hello world"   ##邮件主题
def addimg(img_src,imgid):
  fp = open(img_src,'rb')
  msgImage = MIMEImage(fp.read())
  fp.close()
  msgImage.add_header('Conteng-ID',imgid)
  return msgImage






##返回msgImage对象
msg_text = MIMEText("""<table><tr><td><img src="cid:aa"></td></tr></table>""","html","utf-8")
#创建MIMEMultipart对象,采用related定义内嵌资源
msg = MIMEMultipart('related')
msg.attach(msg_text)
msg.attach(addimg("C:\aa.img",aa))


##这里的aa要与msg_text里的aa对应
#发送邮件
server = smtplib.SMTP()
server.connect('smtp.XXX.com',"25")
server.starttls()

##启动安全传输模式
server.login('XXX','XXXXX')


#XXX为用户名,XXXXX为密码
server.sendmail(msg['From'], msg['To'],msg.as_string())
#这里的前两个参数自定义
server.quit()

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python处理json数据中的中文
Mar 06 Python
Pycharm学习教程(5) Python快捷键相关设置
May 03 Python
通过源码分析Python中的切片赋值
May 08 Python
python使用Matplotlib绘制分段函数
Sep 25 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
Jun 17 Python
详解用python计算阶乘的几种方法
Aug 14 Python
python实现在一个画布上画多个子图
Jan 19 Python
Python异常继承关系和自定义异常实现代码实例
Feb 20 Python
python raise的基本使用
Sep 10 Python
python爬虫scrapy图书分类实例讲解
Nov 23 Python
Python爬虫分析微博热搜关键词的实现代码
Feb 22 Python
教你怎么用python实现字符串转日期
May 24 Python
Python 微信爬虫完整实例【单线程与多线程】
Jul 06 #Python
python实现爬取百度图片的方法示例
Jul 06 #Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
Jul 06 #Python
python3 打印输出字典中特定的某个key的方法示例
Jul 06 #Python
python使用 zip 同时迭代多个序列示例
Jul 06 #Python
Python搭建Spark分布式集群环境
Jul 05 #Python
详解python解压压缩包的五种方法
Jul 05 #Python
You might like
PHP文件缓存类示例分享
2015/01/30 PHP
php cookie用户登录的详解及实例代码
2017/01/03 PHP
PHP用户注册邮件激活账户的实现代码
2017/05/31 PHP
php模拟实现斗地主发牌
2020/04/22 PHP
用js实现计算加载页面所用的时间
2010/04/02 Javascript
jquery中动态效果小结
2010/12/16 Javascript
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
json数据的列循环示例
2013/09/06 Javascript
ajax请求乱码的解决方法(中文乱码)
2014/04/10 Javascript
js实现拖拽效果
2015/02/12 Javascript
谈谈我对JavaScript DOM事件的理解
2015/12/18 Javascript
jQuery 生成svg矢量二维码
2016/08/09 Javascript
简单实现JS上传图片预览功能
2017/04/14 Javascript
angularjs中的$eval方法详解
2017/04/24 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
2017/12/15 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
微信小程序模拟cookie的实现
2018/06/20 Javascript
JavaScript数组去重实现方法小结
2020/01/17 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
Python collections模块实例讲解
2014/04/07 Python
Python编写生成验证码的脚本的教程
2015/05/04 Python
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
python实现发送邮件功能代码
2017/12/14 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
利用python开发app实战的方法
2019/07/09 Python
对Python获取屏幕截图的4种方法详解
2019/08/27 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
环保倡议书400字
2014/05/15 职场文书
青岛导游词
2015/02/12 职场文书
意外事故赔偿协议书
2016/03/22 职场文书
靠谱准确的求职信
2019/04/02 职场文书
JS如何使用剪贴板操作Clipboard API
2021/05/17 Javascript
Node实现搜索框进行模糊查询
2021/06/28 Javascript