在一些场景中经常须要发送邮件, 像是持续集成和运维报警等. 而应用Python脚本可以或许很快捷便利得实现发送各类邮件的需求.这里就经由过程Python基于SMTP(Simple Mail Transfer Protocol)实现一套可以群发,Html内容和附件的脚本。
既然是要发送各类类型的邮件, 起首须要有一个邮箱.这里就以腾讯企业邮箱为例.做完一下三个预备工作之后就可以开端写脚本了。
预备
在设置中开启所有SMTP相干办事.
记录发送邮件办事器地址, 连接方法和端口
新增一个授权暗码并记录起来.
连接邮件办事器并上岸
Python中有smtplib模块可供应用, 将它导入进来. 在发送邮件办事器地址信息那边可以看到连接有两种方法, 一种是通俗连接, 一种是经由加密的连接. 裹足本中就根据需求去构建两种不合的链接对象. 经由过程邮件办事器地址这里的server_host也就是smtp.exmail.qq.com和默认的办事器端口(SMTP方法默认应用25端口而SMTP_SSL就是默认应用465端口, 平日邮件办事器都是可以应用默认端口的)建立与邮件办事器之间的连接. 并经由过程邮夏┞匪户和膳绫擎第三步中设置的授权暗码登录邮箱办事器. 没有异常信息的话就连接邮件办事器并登录成功了.
发送文本邮件
发送邮件之前先验证一下当前是否已经登录到邮件办事器. 再经由过程email模块中的MIMEText构建出包含发件人, 收件人列表, 邮件标题和邮件内容的消息体.因为这里是发送文本内容的邮件, 所以content_type是plain.
构建完消息体之后就可以直接调用SMTP的sendmail办法, 将消息体大年夜发件方发送到收件列表中的收件邮箱中去.
【编辑推荐】
- Python对Ruby:谁在Web开辟范畴更胜一筹?
- Python vs Ruby: 谁是最好的 web 开辟说话?
- Python说话在将来的成长前景
- 用Python实现每秒处理120万次HTTP请求
- Python多过程并行编程实践: mpi4py 的应用
收到群发带附件的邮件
发送Html邮件
如不雅发送通俗文本邮件成功了, 那么想要发送html内容的邮件就很简单了, 稍微改一下膳绫擎的代码给content_type多一种html的选择就可以了. 经由过程外部的参数控制构建消息体是纯文件内容照样html内容. 如许就可以应用一些html模板来发送固定格局的邮件.
功能代码完成之后再经由过程getopt构建出来外部参数指令, 便利外部调用脚本.
发送附件
起首大年夜email模块中惹人MIMEMultipart. 大年夜这个MIME扩大类的名字也可以看出它的感化是可以构建多个MIME的消息体, 并将它们装配起来.持续修改前面的代码. 根据发件人, 收件人列表和邮箱标题构建出多MIME实例.
接着根据参数决定构建纯文本照样Html内容的消息体, 将该包含邮件内容的消息体装载进膳绫擎初始化过的multi_msg中. 完成邮件内容部分的填充.
完成代码改革之后就要参加对附件的支撑, 遍历外部传入的文件列表, 并根据文件构建出包含附件的消息体, 将其依次装载进multi_msg中.
打开遍历文件列表时拿到附件, 将其初始化为MIME消息体, 并且设置附件的文件属性和附件的名字.
汇总
履行脚本
推荐阅读
大年夜 Siri 到谷歌翻译,深度神经收集已经在机械懂得天然说话方面取得了巨大年夜冲破。这些模型大年夜多半将说话视为单调的单词或字符序列,并应用一种称为轮回神经收集(recurrent neu>>>详细阅读
本文标题:Python发送邮件脚本
地址:http://www.17bianji.com/lsqh/34966.html
1/2 1