首页 / 邮件 / python自动化之电子邮件
python自动化之电子邮件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python自动化之电子邮件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2227字,纯文字阅读大概需要4分钟。
内容图文
![python自动化之电子邮件](/upload/InfoBanner/zyjiaocheng/1184/4ece22719aa6477ea69850d3452f23cc.jpg)
本文我会使用gmail 邮箱作为邮箱测试,lzcom321@gmail.com 是我的私人邮箱,大家也可以对我发送,以帮助大家的邮箱自动化测试
将电子邮件发送给适当的个人,首先要转换为PDF,然后再将此PD附加到电子邮件中,然后将所有电子邮件由python
自动化发送。
模块
开始这个自动化案例之前,你需要将以下模块导入到demo
中
# 创建PDF
from io import BytesIO
from reportlab.pdfgen import canvas
from django.http import HttpResponse
# 自动化电子邮件
import email, smtplib, ssl
from email import encoders
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
你可能不需要上面列出的每个模块,但是我推荐你还是将其全部导入其中
将内容转PDF
对于本文,我将编写一个简单的示例。我会使用 canvas
创建pdf文件,并添加一些个性化设置,例如背景色,字体和字体大小,一些文本字符串和图像(图表)
# 创建pdf
c = canvas.Canvas(‘automate_report.pdf‘)
# 设置背景颜色(此颜色为黄色,我不推荐)
c.setFillColorRGB(1,1,0)
# 选择字体和字体大小
c.setFont(‘Helvetica‘, 30)
# 创建两个文本字符串并在页面上设置位置
c.drawString(5, 660,‘Missing data chart for Titanic Data‘)
c.drawString(5, 630, ‘Report generated by Python‘)
# 添加图像以确定其位置,宽度和高度
c.drawImage(‘Survival.png‘, 5,90,480,400)
# show页面并保存它
c.showPage()
c.save()
注意事项
- 图像与该python脚本位于同一目录中
- 这只是一个基本的概述。如果您想了解有关创建更复杂的pdf报告的更多信息,我建议查阅canvas的文档。
自动化发送电子邮件
我们已经生成了一个pdf文件,正等待通过网络空间发送。
在我们深入研究代码之前,你需要创建一个刻录机电子邮件帐户,以便可以在自己的电子邮件(而不是朋友的电子邮件)上测试该电子邮件。
# 将关键电子邮件方面分配给变量,以便将来进行编辑
subject = "Weekly Report"
body = "This is an email with the desired report attached"
sender_email = "lzcom321@gmail.com"
receiver_email = "lzcom321@icloud.com"
file = "automate_report.pdf"
password = "abc123"
# 创建电子邮件头(发件人,收件人和主题)
email = MIMEMultipart()
email["From"] = sender_email
email["To"] = receiver_email
email["Subject"] = subject
# 在邮件中添加正文和附件
email.attach(MIMEText(body, "plain"))
attach_file = open(file, "rb")
report = MIMEBase("application", "octate-stream")
report.set_payload((attach_file).read())
encoders.encode_base64(report)
#add report header with the file name
report.add_header("Content-Decomposition", "attachment", filename = file)
email.attach(report)
# 创建用于发送邮件的SMTP会话
session = smtplib.SMTP(‘smtp.gmail.com‘, 587)
session.starttls() #enable security
session.login(sender_email, password)
text = email.as_string()
session.sendmail(sender_email, receiver_email, text)
session.quit()
print(‘已发送邮件‘)
说明
现在,注释应该可以帮助你了解所有代码的工作方式以及彼此之间的交互。作为个人喜好,我喜欢将通常在脚本中硬编码的内容设置为一个变量,以便在需要时更易于编辑。
原文:https://www.cnblogs.com/CoXieLearnPython/p/14710929.html
内容总结
以上是互联网集市为您收集整理的python自动化之电子邮件全部内容,希望文章能够帮你解决python自动化之电子邮件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。