2021年办公自动化走起!今天教你如何用Python制作小程序实现邮件自动分发~

发布于 2021-09-22 08:10

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

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

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

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

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

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

import smtplib # smtp 简单邮件传输协议

from email.mime.text import MIMEText

from email.header import Header

from email.mime.multipart import MIMEMultipart

import pandas as pd

# 第三方 SMTP 服务

mail_host = 'smtp.exmail.qq.com'  # SMTP服务器IP,如果是163,可能是smtp.163.com

mail_user = 'xxx@xxx'  # 用户名

mail_pass = '******'   # 密码

sender = 'xxx@xxx'  # 发件人

# 目的:1.获取收件人列表文件,2.获取附件所在文件夹位置

from tkinter import * #tkinter是Python自带的GUI模块,可以进行简单的用户交互

from tkinter import filedialog

window = Tk() #实例化窗口

window.title("根据联系人信息表自动发送带附件的邮件")  #给窗口命名

lbl = Label(window, text="请输入邮件正文")  #插入提示语

lbl.pack()  #调用pack()方法才可以使对象布局在窗口上

txt = Entry(window, width=100) #插入一个输入框

txt.pack()

    global receiver_file,v_txt

    v_txt = txt.get()  #获取txt内容

    receiver_file = filedialog.askopenfilename() #调起选择文件窗口

    Label(window, text="您选择的发件人列表为"+receiver_file).pack()  #将附件名在窗口进行提示

   

        global Excels_folder

        Excels_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,打包的过程比之前两个程序时间长很多,请耐心等待。

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

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

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

END

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

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


关于我们

财码社区为财务人量身定制从点、线、面到多维一体的数字化学习课程,为财务人提供“基础+案例+实践”的系统学习方案,帮助财务人在转型时代中抢占先机,成为既懂技术又懂财务的复合型人才!

本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。

相关素材