Python向多人发送、抄送带附件的邮件(含详细代码)

Python向多人发送、抄送带附件的邮件(含详细代码),第1张

python要发送带附件邮件,首先要创建MIMEMultipart()实例,然后构造附件,如果有多个附件,可依次构造,最后使用smtplibsmtp发送。

步骤:

(1)设置服务器所需信息(ps:部门邮箱密码为授权码,需自行登录相应邮箱设置授权码)

(2)设置email信息

(3)附件部分

(4)登录邮箱并发送邮件

附上源码:

小猪在公司做出纳,干的活却包括了出纳、会计、结算专员等工作,周末都要被无奈在家加班,主要还没有加班费,简直是被公司严重压榨。每个月初都要给每个工长发预付款账单邮件,月中发结算款账单。重复性机械工作。

一个及格线上的程序员,最起码的觉悟就是将重复性的机械工作自动化,于是,在我花了一个多小时,帮她给一部分工长发了一次邮箱后,默默的回来写了这个脚本。

所以,设计要点就是一个字——

恩,就酱。

经过我观察,邮件内容分为两种,这里先说第一种,“结算款”:

(1) 邮件内容(content)不变,为固定的txt文本

(2) 附件(attch)为每个工长的结算账单(excel文件xlsx),此文件命名为总账单中自动分割出来的名字(暂时不懂怎么分割出来的==),格式为:

(3) 邮件主题(Subject)为附件名(不带后缀名)

(4) 邮件接收对象(工长)的名单及其邮箱地址基本不变,偶尔变动

(5)

(1) 将工长及其邮箱地址存为CSV文件的两列,python中将其读取为字典形式,存储以供后续查询邮箱地址。

(2) 遍历文件夹中的附件(xlsx类型文件),对其进行两种 *** 作,一方面将其名字(不带路径和后缀)提取出来,作为邮件主题(Subject),并对Subject进一步划分,得到其中的人名(工长);另一方面,将其传入MIMEbase模块中转为邮件附件对象。

(3) 由上述得到的人名(name),在字典形式的通讯录中,查找相应的地址(value),即为收件人名称和地址

(4) 利用python中的email模块和smtp模块,登录自己的邮箱账号,再对每个附件,得到的收件人名和地址,添加附件,发送邮件。done

在设计过程中有几点需要注意

(1) 有时一个邮件地址对应两个人名,此时应该在CSV文件中分为两行存储,而不是将两个人名存为同一个键;

(2)有账单xlsx文件,通讯录里却没存储此人记录,程序应该打印提示没有通讯记录的人名,且不能直接退出,要保证员工看到此提示,此第一版程序还有解决此问题;

(3)此程序发送的邮件内容为纯文本,若要求邮件内容有不同格式(如部分加粗,部分红色),还有小部分需要每次更改的地方(如邮件内容包含当前月份),如何解决?(这就是第二种邮件内容,“预算款”);

(4)重名的,暂时还没碰到,程序中也没给出解决方案。

第一版到此,20180830,待更新

第二版更新,20180904

第三版更新,20180909

转战CSDN博客,更多博客见传送门《 xiaozhou的博客主页 》

其实,将PPT转成PDF不需要第三方工具,PPT另存为就能实现。

1、在PPT中点击“文件”

2、选择“另存为”

3、点击“浏览”,d出另存为的存储位置对话框,在“文件类型”下拉框中选择PDF即可

您好,抓取天气预报的步骤如下:

1首先,您需要找到一个可靠的天气预报源,比如中央气象台或者当地气象台。

2然后,您需要找到一个可以抓取天气预报信息的程序,比如Python或者JavaScript等编程语言。

3接着,您需要编写一个程序,从天气预报源获取天气预报信息,并将其存储到您的数据库中。

4最后,您需要使用PPT或其他工具,将获取的天气预报信息展示出来。

总之,抓取天气预报的步骤就是:找到一个可靠的天气预报源,使用编程语言编写程序从天气预报源获取信息,将其存储到数据库中,最后使用PPT或其他工具将获取的信息展示出来。

您可以使用 python 的 win32com 模块来实现关闭打开的 Office 文件。首先,您需要通过 win32comclient 模块来访问 Microsoft Office 组件,然后打开所需的文件并使用 Quit 方法关闭它。

比如,用于关闭打开的 Excel 文件:

import win32comclient

excel = win32comclientDispatch("ExcelApplication")

wb = excelWorkbooksOpen("testxlsx")

wbClose(SaveChanges=0)

excelQuit()

关闭打开的 Word 和 PPT 文件:

word = win32comclientDispatch("WordApplication")

doc = wordDocumentsOpen("testdocx")

docClose(SaveChanges=0)

wordQuit()

ppt = win32comclientDispatch("PowerPointApplication")

pp = pptPresentationsOpen("testpptx")

ppClose()

pptQuit()

至于人工处理文件的过程,您可以使用 input 函数来暂停代码的执行,直到用户按下回车键,然后再执行关闭文件的代码。比如:

input("请打开并处理文件,完成后按回车键关闭文件")

excel = win32comclientDispatch("ExcelApplication")

wb = excelWorkbooksOpen("testxlsx")

wbClose(SaveChanges=0)

excelQuit()

Python和VBA都用不上,把Excel文件的扩展名改成rar或者zip,然后解压,在解压后的文件夹里就可以看到你要找的了。当然,如果你愿意,可以用Python来做这件事。

以上就是关于Python向多人发送、抄送带附件的邮件(含详细代码)全部的内容,包括:Python向多人发送、抄送带附件的邮件(含详细代码)、python批量发送邮件--包括批量不同附件、怎么用python批量将ppt转换成pdf等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9447803.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存