python发送邮件方法
1、普通文本邮件
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import smtplib
from email.mime.text import MIMEText
mail_user="xxxx@126.com" #发送邮件的邮箱
mail_pass="xxxxxxx" #密码,口令
mailto_list="xxxxx@qq.com" #接受邮件的邮箱
mail_host="smtp.126.com" #设置服务器 例:smtp.126.com strstr='你好' #内容
msg = MIMEText(strstr,'plain','utf-8') #邮件类型设置为plain
msg['Subject'] = "主题" #主题
msg['From'] = mail_user
msg['To'] = mailto_list
#邮件中文如果显示乱码,可以加上下面两句
msg["Accept-Language"]="zh-CN"
msg["Accept-Charset"]="ISO-8859-1,utf-8" server = smtplib.SMTP()
server.connect(mail_host) #连接smtp邮件服务器
server.login(mail_user,mail_pass) #登录
server.sendmail(mail_user, mailto_list, msg.as_string()) #发送
server.close() #关闭
2、HTML格式邮件
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
mail_user="xxxxxxx@126.com" #发送邮件的邮箱
mail_pass="xxxxxx" #口令
mailto_list="xxxxxx@qq.com" #接收邮件的邮箱
to_list=[mailto_list,]
mail_host="smtp.126.com" #设置服务器 msg = MIMEMultipart()
msg['Subject'] = "主题" #主题
msg['From'] = mail_user
msg['To'] = mailto_list
#正文
#<img src="cid:image1">为图片显示位置
strstr="""
<html>
<head>正文</head>
<body>
<h1>Hello</h1>
<h2>你们好</h2>
</body>
</html>
"""
htm=MIMEText(strstr,'html','utf-8') #邮件类型设置为html
msg.attach(htm) server = smtplib.SMTP()
server.connect(mail_host) #连接smtp邮件服务器
server.login(mail_user,mail_pass) #登录
server.sendmail(mail_user, to_list, msg.as_string()) #发送
server.close() #关闭
3、带附件的邮件
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
mail_user="xxxx@126.com" #发送邮件的邮箱
mail_pass="xxxxxxx" #口令
mailto_list="xxxxx@qq.com" #接收邮件的邮箱
to_list=[mailto_list,]
mail_host="smtp.126.com" #设置服务器 msg = MIMEMultipart()
msg['Subject'] = "主题" #主题
msg['From'] = mail_user
msg['To'] = mailto_list
#文字部分
strstr="Hello" #文字内容
att = MIMEText(strstr,'plain','utf-8')
msg.attach(att)
#附件
att = MIMEApplication(open('E:\\111.txt','rb').read()) #你要发送的附件地址
att.add_header('Content-Disposition', 'attachment', filename="222.txt") #filename可随意取名
msg.attach(att) server = smtplib.SMTP()
server.connect(mail_host) #连接smtp邮件服务器
server.login(mail_user,mail_pass) #登录
server.sendmail(mail_user, to_list, msg.as_string()) #发送
server.close() #关闭
4、正文显示图片的邮件
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
mail_user="xxxxx@126.com" #发送邮件的邮箱
mail_pass="xxxxxx" #口令
mailto_list="xxxxxx@qq.com" #接收邮件的邮箱
to_list=[mailto_list,]
mail_host="smtp.126.com" #设置服务器 msg = MIMEMultipart()
msg['Subject'] = "主题" #主题
msg['From'] = mail_user
msg['To'] = mailto_list
#正文
#<img src="cid:image1">为图片显示位置
strstr="""
<html>
<head>正文图片</head>
<body>
<p>Hello<br>
你们好<br>
<br><img src="cid:image1"></br>
</p>
</body>
</html>
"""
htm=MIMEText(strstr,'html','utf-8')
msg.attach(htm) image = MIMEImage(open("F:\\111.jpg",'rb').read())
image.add_header('Content-ID','<image1>')
msg.attach(image) server = smtplib.SMTP()
server.connect(mail_host)
server.login(mail_user,mail_pass)
server.sendmail(mail_user,mailto_list,msg.as_string())
server.quit()
python发送邮件方法的更多相关文章
- python发送邮件方法总结
python中email模块使得处理邮件变得比较简单,今天着重学习了一下发送邮件的具体做法,这里写写自己的的心得,也请高手给些指点. 一.相关模块介绍 发送邮件主要用到了smtplib和ema ...
- 解读Python发送邮件
解读Python发送邮件 Python发送邮件需要smtplib和email两个模块.也正是由于我们在实际工作中可以导入这些模块,才使得处理工作中的任务变得更加的简单.今天,就来好好学习一下使用Pyt ...
- python 发送邮件例子
想到用python发送邮件 主要是服务器 有时候会产生coredump文件 ,然后因为脚本重启原因,服务器coredump产生后会重启 但是没有主动通知开发人员 想了下可以写个脚本一旦产生cored ...
- 【转】【Python】Python发送邮件(常见四种邮件内容)
在写脚本时,放到后台运行,想知道执行情况,会通过邮件.SMS(短信).飞信.微信等方式通知管理员,用的最多的是邮件.在linux下,Shell脚本发送邮件告警是件很简单的事,有现成的邮件服务软件或者调 ...
- Python发送邮件(最全)
简单邮件传输协议(SMTP)是一种协议,用于在邮件服务器之间发送电子邮件和路由电子邮件. Python提供smtplib模块,该模块定义了一个SMTP客户端会话对象,可用于使用SMTP或ESMTP侦听 ...
- python 发送邮件 <QQ+腾讯企业邮箱>
一.使用QQ邮箱或者腾讯企业邮箱 python 发送邮件属于网络编程方向的,在工作中,我需要经常用邮件来检测我的程序运行状况.使用起来十分方便,这里我就用腾讯企业邮箱作为我的收发邮箱来使用. 使用py ...
- python接口自动化(三十二)--Python发送邮件(常见四种邮件内容)番外篇——上(详解)
简介 本篇文章与前边没有多大关联,就是对前边有关发邮件的总结和梳理.在写脚本时,放到后台运行,想知道执行情况,会通过邮件.SMS(短信).飞信.微信等方式通知管理员,用的最多的是邮件.在linux下, ...
- Python发送邮件以及对其封装
对Python发送邮件进行封装 Python发送邮件分为四步 连接到smtp服务器 登陆smtp服务器 准备邮件 发送邮件 导入所需要的包 import smtplib from email.mime ...
- Python发送邮件(常见四种邮件内容)
Python发送邮件(常见四种邮件内容) 转载 2017年03月03日 17:17:04 转自:http://lizhenliang.blog.51cto.com/7876557/1875330 ...
随机推荐
- 【Hihocoder】1014 : Trie树
问题:http://hihocoder.com/problemset/problem/1014 给定一个字符串字典dict,输入字符串str, 要求从dict中找出所有以str为前缀的字符串个数. 构 ...
- Hadoop.2.x_WebUV示例
一.网站基本指标(即针对于网站用户行为而产生的日志中进行统计分析) 1. PV:网页浏览量(Page View页面浏览次数,只要进入该网页就产生一条记录,不限IP,统计点每天(较多)/每周/每月/.. ...
- JS写四个图片滚动显示的效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- markdown语法学习笔记
##1.**标题** # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 ##2.**加粗** 首尾各加两个*号 ##3.*斜字体 ...
- Java面试题大全(三)
81.如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 可以在管理控制台中修改对应服务器的启动模式为开发或产品模式之一.或者修改服务的启动文件或者commenv文件,增加set PR ...
- NBUT比赛 方格规律递推题
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=26901#problem/A 题意:有一个 2*n的格子里,你可以选择任意一个格 ...
- 执行JDBC的executeUpdate()方法时,报错:数据类型不一致,应为number,但却为binary
该原因是因为,在拼写update语句的时候将一个number类型的字段的值赋为了null导致的,如果想将一个number类型的字清空,不能使用null,可以使用“”来替代.
- iOS frame从导航栏下面开始
iOS7.0 之后,页面布局默认延伸到了手机界面的边缘;导航栏背景成透明颜色. 解决fram从导航栏下面开始方法: 第一种: 将导航栏改成不透明即可 if( ([[[UIDevice currentD ...
- How to bind data to a user control
http://support.microsoft.com/kb/327413 Create a user control by inheriting from the System.Windows. ...
- Android Glide数据更新及内存缓存、硬盘缓存清理
[转] 原文 Android Glide数据更新及内存缓存.硬盘缓存清理 Android的Glide在加载图片时候内部默 ...