前言

本篇介绍使用zmail发各种格式的邮件,并运行成功的代码,小伙伴们只需更换自己的邮箱就可以运行起来了

content_text发送纯文本

先从最简单的发送纯文本的邮件开始,调通发送邮件的代码。
以腾讯的企业邮箱为例,smtp_host是发送邮箱的smtp服务地址,不同的邮箱不太一样。

  • smtp_host:smtp.exmail.qq.com
  • smtp_port:465
import zmail'''
作者:上海-悠悠
QQ交流群:717225969
'''
mail = {'subject': '邮件主题:Success!',  # Anything you want.'content_text': '邮件正文内容:This message from zmail! QQ交流群:717225969 ',  # Anything you want.
}server = zmail.server('yourname@xxxx.com','yourpassword',smtp_host="smtp.exmail.qq.com",smtp_port=465)
server.send_mail('2833404xx@qq.com', mail)  # 接收着

从上面代码看出,发送邮件的代码也就2句,我们只需关注三个参数

  • mail 发件的内容,包含主题、正文、附件等
  • server 发送邮件人的相关信息,如账号,密码,smtp_host, smtp_port
  • receiver 接收者的邮箱地址

content_html发送html正文

如果发送的正文是html格式的,那就用content_html参数,注意content_text和content_html只能二选一
平常生成的html测试报告,需要发送到邮箱,可以用open函数去读取html正文内容

import zmail'''
作者:上海-悠悠
QQ交流群:717225969
'''# html报告地址D:\\aaaa\\result.htmlwith open('D:\\aaaa\\result.html', 'r', encoding="utf-8") as f:content_html = f.read()mail = {'subject': '邮件主题:Success!',  # Anything you want.# 'content_text': '邮件正文内容:This message from zmail! QQ交流群:717225969 ',  # Anything you want.'content_html': content_html
}server = zmail.server('yourname@xxxx.com','yourpassword',smtp_host="smtp.exmail.qq.com",smtp_port=465)
server.send_mail('283340479@qq.com', mail)

也可以自己写html正文内容

content_html = '''
<h1>这是一级标题</h1>
<h2>这是二级标题</h2>
<h3>这是三级标题</h3>
<p>这段是有个段落,可以写很多你要写的内容</p>
<a href="https://www.cnblogs.com/yoyoketang/">点我,可以跳转到我的博客</a>
'''mail = {'subject': '邮件主题:Success!',  # Anything you want.# 'content_text': '邮件正文内容:This message from zmail! QQ交流群:717225969 ',  # Anything you want.'content_html': content_html,'attachments': ['/Users/zyh/Documents/example.zip','/root/1.jpg'],  # Absolute path will be better.
}

attachments带附件

把report.html的报告同时放到附件去发送,使用attachments参数,只需传附件的绝对路径就可以了.
传多个附件,放到list里

import zmail# html报告地址D:\\aaaa\\result.html
with open('D:\\aaaa\\result.html', 'r', encoding="utf-8") as f:content_html = f.read()mail = {'subject': '邮件主题:Success!',  # Anything you want.# 'content_text': '邮件正文内容:This message from zmail! QQ交流群:717225969 ',  # Anything you want.'content_html': content_html,'attachments': ['D:\\aaaa\\result.html','D:\\122.png'],  # Absolute path will be better.
}server = zmail.server('yourname@xxxx.com','yourpassword',smtp_host="smtp.exmail.qq.com",smtp_port=465)
server.send_mail('2833404xx@qq.com', mail)

正文带图片

正文,如果想发送一个图片,只需知道图片的url地址就可以了,如下个

<img src="https://x.xxx.com/xxx.png" width="650" height="340">'

如果是本地的图片,可以转base64后放到img标签,格式

<img src=“data:image/png;base64,***************************************************"/>

参考代码

content_html='''
<p>这是一张图片</p>
<img src="https://img2018.cnblogs.com/blog/1070438/201906/1070438-20190622235030004-1865146937.png" alt="yoyo png" width="650" height="340">
'''mail = {'subject': '邮件主题:Success!',  # Anything you want.# 'content_text': '邮件正文内容:This message from zmail! QQ交流群:717225969 ',  # Anything you want.'content_html': content_html,'attachments': ['D:\\aaaa\\result.html','D:\\122.png'],  # Absolute path will be better.
}

QQ授权码

如果你的发件邮箱是QQ邮箱,发件人的密码就需要用授权码了,在邮箱设置里面找到授权码
QQ邮箱smtp_host是smtp.qq.com,多个收件人的话,接收者可以用list

server = zmail.server('28yourQQ@qq.com','QQ邮件授权码',smtp_host="smtp.qq.com",smtp_port=465)
server.send_mail(['2833404xx@qq.com','xx33404xx@qq.com'], mail)

更多资料参考前面这篇:https://www.cnblogs.com/yoyoketang/p/11048495.html

转载于:https://www.cnblogs.com/yoyoketang/p/11069875.html

python笔记38-使用zmail发各种邮件案例代码相关推荐

  1. java怎么发qq邮件_java代码如何发送QQ邮件

    近来想写一个qq之间互相发送邮件的工具.奈何一直报错服务错误: org.apache.commons.mail.EmailException: Sending the email to the fol ...

  2. python atm银行取款系统_python ATM机 案例代码

    利用目前学的流程控制写的 ''' ATM机 需求: 1.登陆 输入账号输入密码 每日只有3次登陆密码错误的机会,超过3次禁止登陆 2.查询余额 3.存款 4.取款 5.转帐 6.退出 ''' info ...

  3. 用Python入门不明觉厉的马尔可夫链蒙特卡罗(附案例代码)

    大数据文摘作品 编译:Niki.张南星.Shan LIU.Aileen 这篇文章让小白也能读懂什么是人们常说的Markov Chain Monte Carlo. 在过去几个月里,我在数据科学的世界里反 ...

  4. python 马尔科夫链_用Python入门不明觉厉的马尔可夫链蒙特卡罗(附案例代码)...

    大数据文摘作品 编译:Niki.张南星.Shan LIU.Aileen 这篇文章让小白也能读懂什么是人们常说的Markov Chain Monte Carlo. 在过去几个月里,我在数据科学的世界里反 ...

  5. python发html邮件_在python中如何制作发送HTML格式的邮件?

    邮件的设计和制作,作为邮件营销的重要环节,直接影响着一次营销活动转化.我们知道,不同的邮件客户端有不同的解析规则.一封设计精美的邮件,如果Html格式不规范,在客户端显示的效果往往会大打折扣.所以,如 ...

  6. python-使用python实现发普通邮件和带附件的邮件

    下面是发普通邮件的代码: import smtplib from email.mime.text import MIMEText from email.header import Header #引入 ...

  7. python利用STMP发送gmail、QQ邮件错误及笔记总结

    引言 本篇博文是一个我之前没有想要去关注,但就是这样看似轻松的事情,却出现了很多的bug,我尝试用了163,.QQ以及谷歌邮箱去发送邮件,中间遇到了很多波折,其中一根谷歌的小号邮箱也被封了,所以想在这 ...

  8. python插件做nagios发报警邮件二

    接上文 python插件做nagios发报警邮件 http://www.nginxs.com/linux/371.html,由于python 传入的参数,python 会自动加 \ ,经过代码测试,代 ...

  9. 用python写情书_用Python给喜欢人的发一封邮件吧(群发)

    你好,我是goldsunC 让我们一起进步吧! 利用Python发送邮件 相信我们每个人都用过邮箱,虽然其它社交聊天软件已经非常普及,并且这些社交软件大多都具有文件发送的功能,但很多时候我们仍然离不开 ...

最新文章

  1. Centos5, 6下更改系统时间和时区
  2. 联想笔记本电脑无法在编码中直接使用Home和End快捷键需要+fn解决方案
  3. 本周 AI 论文良心推荐,你想 pick 谁?
  4. Spring学习(九)Spring 和数据库编程【了解】
  5. 简·雅各布斯指数第二部分:测试
  6. c# 类属性和方法
  7. pytnon 学习day-1
  8. mysql 当前时间的一周后_mysql查询当前时间,一天内,一周,一个月内的sql语句...
  9. python crm_学Python还是买CRM软件?
  10. 计算机中英文打字文章,中英文打字练习文章.docx
  11. 集群渲染和渲染农场是什么意思?跟云渲染有什么关系?
  12. 【资源】资源分享(一)
  13. ME525做网络收音机和学外文用了……(安卓4.4.4系统,20190817更新)
  14. Frp内网穿透——frps服务端部署
  15. OA办公软件如何帮助企业更好地实现移动办公
  16. 蔚来汽车在港交所上市,年初至今销量延续疲软状态
  17. 实时动作识别和动作模仿-智能机器人QA200R-全爱科技 全场景AI-QUANAI ROBOT
  18. 企业要实现用计算机完成存货管理,《会计信息系统》习题含答案
  19. 超详细|一篇搞定操作系统——用户接口
  20. MFC中CSTATIC控件双击全屏/双击恢复

热门文章

  1. 计算机缺失esul.dll,msedgeupdateres_es.dll
  2. html5选择状态,HTML5 Canvas 状态
  3. php 安卓注册,做一个Android应用的注册与登录功能
  4. C语言为运算表达式添加括号,读书笔记-c语言-运算符与表达式
  5. php导出excel2007实例,PHP导出EXCEL的简单范例 使用phpexcel类库导出excel
  6. java点击按钮发出声音_响应触发按钮声音onKeyPress问题
  7. linux 程序收到sigsegv信号_Linux基础知识(五)
  8. linux 采集 bash 脚本,Linux shell脚本攻略(2)
  9. e83服务器电源键位置,正文-新华三集团-H3C
  10. elk替代_Golang-logrus简单的日志收集系统(替代ELKB)