龙空技术网

办公自动化落地案例来了,不同邮件自动分发给不同收件人

财码 348

前言:

当前咱们对“ubuntusendmail发件人”可能比较关怀,我们都想要知道一些“ubuntusendmail发件人”的相关内容。那么小编也在网上收集了一些有关“ubuntusendmail发件人””的相关文章,希望各位老铁们能喜欢,我们快快来学习一下吧!

昨天小秘书刷知乎的时候看到财务朋友们几乎每天都在两点一线的工作,有着加不完的班,发不完的邮件,做不完的报表…

看完知乎上的回答,真心感觉财务朋友们太不容易了。看到其中一个财务朋友提问说:

集团准备给业务部门发Q3季度的奖金,每个销售同事都会收到一封邮件,在邮件中会列出绩效考核评分、提成奖金明细等内容,这类邮件私密性程度很高,对于小公司来说采用手动方式一个个发送邮件是可以的,但是对于有着上百人或者上千人的公司,要一个个发送邮件效率太低了,那要怎么实现呢?

我想了一下这个问题其实不难,今天就给大家整理如何用Python实现邮件自动发送的功能~在开始之前我们先来补充一点跟Python相关的自动发送邮件的知识点:

在Python中有两个内置库分别是smtplib和email,能够实现邮件发送的功能。其中smtplib库负责发送邮件,email库负责构造邮件格式和内容。在邮件发送中需要遵守SMTP协议,Python内置对SMTP的支持可以发送纯文本邮件、HTML邮件以及带附件的邮件。

在Python中我们可以制作一个邮件分发的小程序,根据收件人和附件中的文件目录,自动将所有的附件一一对应地发送到联系人的邮箱中。

首先在Jupyter notebook中测试源代码:

import smtplib # smtp 简单邮件传输协议from email.mime.text import MIMETextfrom email.header import Headerfrom email.mime.multipart import MIMEMultipartimport pandas as pd# 第三方 SMTP 服务mail_host = 'smtp.exmail.qq.com' # SMTP服务器IP,如果是163,可能是smtp.163.commail_user = 'xxx@xxx' # 用户名mail_pass = '******' # 密码sender = 'xxx@xxx' # 发件人# 目的:1.获取收件人列表文件,2.获取附件所在文件夹位置from tkinter import * #tkinter是Python自带的GUI模块,可以进行简单的用户交互from tkinter import filedialogwindow = Tk() #实例化窗口window.title("根据联系人信息表自动发送带附件的邮件") #给窗口命名lbl = Label(window, text="请输入邮件正文") #插入提示语lbl.pack() #调用pack()方法才可以使对象布局在窗口上txt = Entry(window, width=100) #插入一个输入框txt.pack()def clicked1(): #点击后的执行函数global receiver_file,v_txtv_txt = txt.get() #获取txt内容receiver_file = filedialog.askopenfilename() #调起选择文件窗口Label(window, text="您选择的发件人列表为"+receiver_file).pack() #将附件名在窗口进行提示def clicked2(): #点击后的执行函数global Excels_folderExcels_folder = filedialog.askdirectory() #调起选择文件夹窗口Label(window, text="您选择的附件文件夹位置为"+Excels_folder).pack() #将附件名在窗口进行提示Button(window, text="发送邮件", command=window.destroy).pack() #window.destroy关闭窗口Button(window, text="选择附件位置", command=clicked2).pack() #插入一个按钮,并在command里调起clicked函数Button(window, text="选择发件人列表", command=clicked1).pack() #插入一个按钮,并在command里调起clicked函数window.mainloop()# 定义发送邮件函数,参数为邮箱联系人分组def SendMail(group):data = group.reset_index(drop=True)receiver = data.loc[0,'邮箱'] #收件人从dataframe取Excels = data['公司'].to_list()

上述代码中,我们将Python程序打包成了一个exe可执行文件(exe是针对windows系统的可执行文件),这样这个程序就可以分享给别人使用了,即使他的电脑上没有安装Python也可以运行。

程序测试完毕后,将其导出为py文件。在windows命令窗口输入:pyinstaller -F **\**\**.py,-F后面内容为你想打包的python文件。由于这段程序引用了pandas,打包的过程比之前两个程序时间长很多,请耐心等待。

在dist文件夹中找到新生产的exe文件,这个就是我们待会要用到的小程序了~

接下来我们直接体验使用效果,先在交互式窗口输入邮件正文,接着点击:选择发件人列表按钮:

选择完成后,程序会将我们选择的文件路径显示在窗口上,我们再做二次确认,接着选择需要分发的附件文件。

最后,我们点击“发送邮件”按钮。

以下就是Python程序根据收件人列表和一定的附件拆分规则、分发的邮件及附件了~

看到这里你学会了吗?Python和Excel结合是财务人不可或缺的办公利器,使用Python编程就可以让繁琐的工作自动化,像发送邮件这类重复的工作完全可以交给代码去执行,有了Python工具财务朋友可以解放双手,节省出更多时间了!

END

©图片版权归财码Python所有,如对版权有异议,请联系后台议定处理。

本文由财码Python整理发布,如需转载请务必注明以上信息。

标签: #ubuntusendmail发件人