需求任务书:
1.背景:
随着接入个人征信的机构类型、机构数量日益增多,每天有大量的通过邮箱发送的申请需要处理,手工下载附件、登记信息费时费力,故提出此需求,开发单独的程序批量处理相关邮件。
2.业务描述:
本需求说明书主要包含二类业务,分别为自动下载指定关键字的邮件附件至预设的目录下,登记相应的邮件信息至预设的excel表格中。
2.1附件下载
如果邮件主题、附件名或邮件正文中包含预设的关键字,则将该邮件的附件下载到指定的主目录下对应的发件人子目录中,子目录名为该发件人的名称。
其中,发件人名称由发件人email地址通过预设的“联系方式表”关联得出;如果发件人email地址在预设的“联系方式表”中不存在,则目录名为发件人email地址。
2.2信息登记
下载筛选出的邮件附件的同时,需要将该邮件的发件人名称、发件人email地址、邮件发送时间、邮件处理时间、邮件主题、附件名称以及邮件内容等信息登记到预设的excel表格中,格式大致如下图:
发件人 名称 | 发件人 | 邮件发送 时间 | 批处理 时间 | 邮件主题 | 附件 名称 | 邮件 内容 |
xxx分中心 | xxx@pbcc.org.cn | yyyymmdd | yyyymmdd | xxx申请 | xxx.doc xxx.pdf | xxxxxx |
... | … | … | … | … | … | … |
xxx银行 | xxx@pbcc.org.cn | yyyymmdd | yyyymmdd | xxx扫描版 | xxx.jpg | xxxxxx |
其中,发件人名称由发件人email地址通过预设的“联系方式表”关联得出;如果发件人email地址在预设的“联系方式表”中不存在,则将发件人名称登记为发件人的email地址。
3.功能描述:
3.1邮件批量处理
主界面可以选择要处理邮件的时间段(默认显示为上一次批量处理的时间至当前的时间);点击批处理按钮后,筛选出主题、正文或者附件名中包含预设关键字的邮件,将筛选出的邮件的附件按发件人分类下载到对应的目录中,如果目录不存在则自动新建目录(命名规则参照业务描述);下载完毕后邮件相关信息会登记到“信息登记薄”中预设的excel表格中。
如果手动修改处理时间段,可能会产生同一个邮件多次处理的情况;此时相同的附件可以自动替换,不会影响结果,但信息登记薄中就会重复登记;因此在登记信息时要判断该邮件是否已经被登记过(是否可以考虑使用Message-ID判断?)
3.2相关参数设置
批处理软件中应该有参数设置的功能,主要用来设置以下参数:
主目录,用来保存以发件人名称命名的子目录,以及登记信息的excel表格。
关键字,用以筛选要处理的邮件
邮箱用户名/密码,指定用户名和密码以登录邮箱进行批处理操作。
联系方式表,保存联系人和email地址的对应关系,以对子目录命名和信息登记(可以在软件中逐条增加,或者通过txt、excel等格式的外部文件批量导入实现)
信息登记薄,指定登记邮件信息的excel表格(默认值为:主目录\关键字_邮件信息登记表.xlsx)。
3.3异常处理
由于某些邮件并无主题以及正文,且附件的命名也不符合要求,对于此类无法判断信息的邮件,需要在操作界面给出提示(如每次操作完成后,可在主界面显示出所选时间段内邮件共有多少,批量处理的邮件有多少,无法确定信息的邮件有多少等)