如何利用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 相关文章推荐
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
Jun 13 Python
详解使用python的logging模块在stdout输出的两种方法
May 17 Python
Python有序字典简单实现方法示例
Sep 28 Python
Python+pandas计算数据相关系数的实例
Jul 03 Python
django缓存配置的几种方法详解
Jul 16 Python
python3利用venv配置虚拟环境及过程中的小问题小结
Aug 01 Python
对pandas的层次索引与取值的新方法详解
Nov 06 Python
对python GUI实现完美进度条的示例详解
Dec 13 Python
Python编程深度学习计算库之numpy
Dec 28 Python
python爬虫之自制英汉字典
Jun 24 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
May 11 Python
python - timeit 时间模块
Apr 06 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
jQuery 源码分析笔记
2011/05/25 PHP
PHP异步调用socket实现代码
2012/01/12 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
jquery实现按Enter键触发事件示例
2013/09/10 Javascript
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
2016/09/28 Javascript
JS重载实现方法分析
2016/12/16 Javascript
Javascript实现基本运算器
2017/07/15 Javascript
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
2017/11/28 Javascript
简述JS浏览器的三种弹窗
2018/07/15 Javascript
微信小程序带动画弹窗组件使用方法详解
2018/11/27 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
vue实现把接口单独存放在一个文件方式
2020/08/13 Javascript
[05:20]卡尔工作室_DOTA2新手教学_DOTA2超强新手功能
2013/04/22 DOTA
[57:18]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#3VP VS VG
2016/03/03 DOTA
Python简易计算器制作方法代码详解
2019/10/31 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
世界经理人咨询有限公司面试
2014/09/23 面试题
大学生四年生活自我鉴定
2013/11/21 职场文书
安全月活动总结
2014/05/05 职场文书
校庆口号
2014/06/20 职场文书
管理工程专业求职信
2014/08/10 职场文书
2014幼儿园中班工作总结
2014/11/10 职场文书
住房公积金贷款工资证明
2015/06/12 职场文书
村官2015年度工作总结
2015/10/14 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书