如何利用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类的专用方法实例分析
Jan 09 Python
python基础教程之五种数据类型详解
Jan 12 Python
Python标准库之collections包的使用教程
Apr 27 Python
TF-IDF算法解析与Python实现方法详解
Nov 16 Python
详解Python在七牛云平台的应用(一)
Dec 05 Python
在ubuntu16.04中将python3设置为默认的命令写法
Oct 31 Python
浅谈pyqt5在QMainWindow中布局的问题
Jun 21 Python
djano一对一、多对多、分页实例代码
Aug 16 Python
Python3操作MongoDB增册改查等方法详解
Feb 10 Python
python+adb命令实现自动刷视频脚本案例
Apr 23 Python
使用python实现下载我们想听的歌曲,速度超快
Jul 09 Python
python小程序之飘落的银杏
Apr 17 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连mysql和oracle数据库性能比较
2006/10/09 PHP
基于php iconv函数的使用详解
2013/06/09 PHP
php使用sql数据库 获取字段问题介绍
2013/08/12 PHP
ThinkPHP文件上传实例教程
2014/08/22 PHP
PHP中上传多个文件的表单设计例子
2014/11/19 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
JavaScript之引用类型介绍
2012/08/10 Javascript
javascript验证上传文件的类型限制必须为某些格式
2013/11/14 Javascript
JS+CSS 制作的超级简单的下拉菜单附图
2013/11/22 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
2016/10/27 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
create-react-app安装出错问题解决方法
2018/09/04 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
Python Django使用forms来实现评论功能
2016/08/17 Python
对pyqt5多线程正确的开启姿势详解
2019/06/14 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
python中sympy库求常微分方程的用法
2020/04/28 Python
python之语音识别speech模块
2020/09/09 Python
Python求区间正整数内所有素数之和的方法实例
2020/10/13 Python
英国女性时尚品牌:Apricot
2018/12/04 全球购物
高校学生干部的自我评价分享
2013/11/04 职场文书
大学毕业生最详细的自我评价分享
2013/11/18 职场文书
电台编导求职信
2014/05/06 职场文书
应届生求职信范文
2014/06/30 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
质量负责人岗位职责
2015/02/15 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
西游降魔篇观后感
2015/06/15 职场文书
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android
解决persistence.xml配置文件修改存放路径的问题
2022/02/24 Java/Android