我们每天在公司和非公司生活中收发大量电子邮件。 事实是,这些交易中的很大一部分确实可以自动化。 当我们度过一天的大部分时间,向所有人发送或多或少相同的电子邮件时,也许我们都可以与生活中具有里程碑意义的时刻相关。 实际上,使用Python,您可以建立和部署自动电子邮件管道来接收电子邮件,然后根据前者的内容发送电子邮件。 换句话说,您可以在工作或在家中执行更具影响力的任务时,自动化工作。
绝对不需要精通技术,而且我们要做的事情很琐碎,以至于我们每个人都可以在短时间内做到这一点。 在学习完本文之后,您将学习如何自动接收电子邮件,使用内容和附件生成图表,然后最终将具有令人炫目的仪表板的电子邮件发送给许多收件人。
接收
尽管本教程中使用的技术可以应用于使用标准IMAP协议的任何电子邮件服务器,但某些服务器(例如Gmail)在使用方面可能有所不同。 如果确实使用的是Gmail,请确保已在Google帐户中启用安全性较低的应用程序选项,如下所示:
继续并启动Anaconda或您选择的任何其他Python IDE,然后运行以下代码段以连接到您的电子邮件帐户并下载收件箱的所有内容。
另外,请注意,存储用户凭据的一种更安全的方法是将它们保存在配置文件中,然后在代码中将它们作为参数调用。
解析邮件内容和附件
现在,假设您正在等待带有Microsoft Excel附件的电子邮件,其中包含许多学生的考试结果。 您的目标是使用“考试结果”主题自动搜索该电子邮件。 找到后,您将要提取文件并将其保存到本地目录。
请注意,如果您要搜索特定的发件人而不是电子邮件主题,请使用以下代码替换上述代码段的第7行:
生成数据可视化
现在,您已经下载了电子邮件附件,您将需要基于附件的内容生成文本和图表。由于在本例中文件是Excel电子表格,因此我们将使用Pandas将其转换为数据框。
现在,我们的目标是找到每次考试的全班平均成绩,然后创建一个图表,分别显示每个学生的分数。 为此,我们将使用如下所示的Plotly生成带有检查结果的自定义折线图,条形图和直方图。 在继续进行操作之前,请确保可以通过在蟒蛇提示符下键入以下命令,使用python-kaleido库将图表另存为图像:
上面的代码段将为每个学生创建以下三个图表:
发送
现在我们已经生成了定制的图表,下一步是将包含考试结果的各个图表发送给每个学生。以下代码段是前一个代码段中for循环的延续。
详情参阅 – 亚图跨际