如何利用python发送邮件


Posted in Python onSeptember 26, 2020

一、zmial发送邮件

zmial是第三方库,需进行安装

pip install zmail

完成后,来给发一封邮件

subject:标题
content_text:内容

import zmail
 server = zmail.server('发件人邮箱地址','授权码')
 
 server.send_mail('收件人邮箱地址',{'subject':'Hello!','content_text':'By zmail.'})

二、smtplib发送邮件

import smtplib
from email.mime.text import MIMEText
#--------发件相关参数--------
smtpserver="smtp.qq.com"  #连接服务器
port = 465           #端口
sender = "741841851@qq.com"#账号
psw = "xxxxx"#密码 授权码
receiver="741841851@qq.com"#接收人

#--------编辑邮件内容--------

subject="qq邮件主题"
body= '<p>这个是发送的qq邮件</p>'
msg = MIMEText(body,'html','utf-8')
msg['from']=sender
msg['to']='741841851@qq.com'
msg['subject']=subject

#-----------test_email-------
smtp = smtplib.SMTP_SSL(smtpserver,port)#连接服务器
smtp.login(sender,psw)#登录
smtp.sendmail(sender,receiver,msg.as_string())#发送邮件
smtp.quit()

三、发送带附件的邮件

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import os

smtpserver='smtp.qq.com'
port =465
sender='741841851@qq.com'
psw = 'xxxx'
recevier = "741841851@qq.com"

filenamepath = os.path.join(os.path.dirname(os.path.realpath(__file__)),'ceshi.html')

with open(filenamepath,'rb') as f:
  mail_body=f.read().decode('utf-8')

msg = MIMEMultipart()
msg['from']=sender#发件人
msg['to']=recevier#收件人
msg['subject']='这是我的主题99'#主题

# 正文
body = MIMEText(mail_body,'html','utf-8')
msg.attach(body)
#附件
att = MIMEText(mail_body,'base64','gbk')#用utf-8会出现乱码
att['Content-Type']='application/octet-stream'
att['Content-Disposition']='attachment;filename="test_report.html"'
msg.attach(att)

####发送邮件
try:
  smtp = smtplib.SMTP()
  smtp.connect(smtpserver)#连接服务器
  smtp.login(sender,psw)#登录
except:
  smtp = smtplib.SMTP_SSL(smtpserver,port)
  smtp.login(sender,psw)#登录

smtp.sendmail(sender,recevier,msg.as_string())#发送邮件
smtp.quit()

以上就是如何利用python发送邮件的详细内容,更多关于python 发送邮件的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python的内存泄漏及gc模块的使用分析
Jul 16 Python
使用Python制作获取网站目录的图形化程序
May 04 Python
详解Django框架中用户的登录和退出的实现
Jul 23 Python
全面解析Python的While循环语句的使用方法
Oct 13 Python
Python中将字典转换为XML以及相关的命名空间解析
Oct 15 Python
浅谈python新手中常见的疑惑及解答
Jun 14 Python
简单掌握Python中glob模块查找文件路径的用法
Jul 05 Python
Python读取Json字典写入Excel表格的方法
Jan 03 Python
Python简单基础小程序的实例代码
Apr 28 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
Jan 19 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
Mar 18 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
Nov 30 Python
Python 测试框架unittest和pytest的优劣
Sep 26 #Python
浅析python函数式编程
Sep 26 #Python
python用Configobj模块读取配置文件
Sep 26 #Python
Python内存泄漏和内存溢出的解决方案
Sep 26 #Python
python 两种方法修改文件的创建时间、修改时间、访问时间
Sep 26 #Python
如何使用Python调整图像大小
Sep 26 #Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
Sep 25 #Python
You might like
php 定界符格式引起的错误
2011/05/24 PHP
php给一组指定关键词添加span标签的方法
2015/03/31 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
PHP的mysqli_sqlstate()函数讲解
2019/01/23 PHP
PHP的PDO预定义常量讲解
2019/01/24 PHP
PHP操作路由器实现方法示例
2019/04/27 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
初学js 新节点的创建 删除 的步骤
2011/07/04 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
详解javascript中对数据格式化的思考
2017/01/23 Javascript
使用Fullpage插件快速开发整屏翻页的页面
2017/09/13 Javascript
VUE2实现事件驱动弹窗示例
2017/10/21 Javascript
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
Vue异步加载about组件
2017/10/31 Javascript
VueJs使用Amaze ui调整列表和内容页面
2017/11/30 Javascript
javascript实现文件拖拽事件
2018/03/29 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
2018/08/20 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
微信小程序 行的删除和增加操作实现详解
2019/09/29 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
2020/11/24 Javascript
[00:59]DOTA2荣耀之路1:Doom is back!weapon X!
2018/05/22 DOTA
tornado框架blog模块分析与使用
2013/11/21 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
Python字典添加,删除,查询等相关操作方法详解
2020/02/07 Python
基于python 等频分箱qcut问题的解决
2020/03/03 Python
Pytorch转onnx、torchscript方式
2020/05/25 Python
域名注册、建站工具、网页主机、SSL证书:Dynadot
2017/01/06 全球购物
IFCHIC台湾:欧美国际设计师品牌
2019/05/18 全球购物
哪些情况下不应该使用索引
2015/07/20 面试题
如何定义一个可复用的服务
2014/09/30 面试题
最新大学毕业求职简历的自我评价
2013/10/18 职场文书
护士辞职信模板
2014/01/20 职场文书
化工实习心得体会
2014/09/09 职场文书
Vue的列表之渲染,排序,过滤详解
2022/02/24 Vue.js
Python Pytorch查询图像的特征从集合或数据库中查找图像
2022/04/09 Python