按模板群发邮件

最近有个需求,要用Outlook邮箱给120个学生发送邮件,每个人的邮件内容不一样且保密(即必须分别给每人发送对应邮件)。这里记录一下操作流程。

制作数据源

数据源可以用Excel表格来制作,第一行为标题行,其中一列为邮箱地址,其余列为属性名,而表格内容就是邮箱和其对应的属性值。例如:

EmailNameKey
a@ust.hkAliceSKDsfkEJ3
b@ust.hkBobSd3N8i3fe
c@ust.hkChris093rSDFDa

将文件保存到能找到的地址,如Data.xlsx

制作邮件模板

模板用Word文档来制作。新建文档后,在菜单栏选择邮件->选择收件人->使用现有列表,在对话框中选择上面的数据源Data.xlsx,接着记得把数据首行包含列标题复选框勾上(默认已勾上),再点击确定。接着在正文中编辑邮件内容,例如:

1
2
3
4
5
6
7
8
9
Dear ,

Here is your key:


Please keep it secret.

Regards,
Yilei

邮件内容的属性值已留空。为了填充姓名,我们把光标定位在Dear后面,然后在菜单栏选择插入合并域->Name。类似地,我们再插入Key,最后邮件内容如下:

1
2
3
4
5
6
7
8
9
Dear «Name»,

Here is your key:
«Key»

Please keep it secret.

Regards,
Yilei

保存文件,但不用退出。此时点击菜单栏的预览结果,可以看到第一条邮件将要发送的内容。

发送邮件

在上面的Word文档内,菜单栏的邮件下,选择完成并合并->发送电子邮件,然后在收件人下拉框中选择邮件地址的标题Email,我这里已经被自动识别。如果你要发送的邮件数量较少,比如不到15个,直接点击发送就好。否则建议在下面的发送记录中,填写从13行,即用前三条数据作为测试。如无意外,大约1分钟后能在Outlook的发件箱中看到发送的三条邮件。然而我这出现了意外:每条邮件发送时都会弹出安全警告,询问我是否允许发送邮件,而每两次点击允许的时间间隔约5秒。如果每个允许都手动点击,那么120封邮件就需要我专注执行10分钟的枯燥操作。尽管后来寻找解决方案的时间远比10分钟长,但若找到屏蔽安全警告的方法,以后有同样需求时会更加方便。

去掉安全警告

首先注意到网上对于安全警告事宜的提问并没有多少热度,所以这个问题很可能不是普遍存在的问题。

对于这一问题,微软给出了一个解决方案。很可惜,这个方案在我这边并没有任何效果。此外还有以安全模式运行程序,更新Windows Defender到最新等等方案,均无效。我还在实验室电脑和自己的笔记本分别尝试,同样的微软账号,问题还是都一样。

最后最无奈的方案是采用一个侵入式解法:下载并运行ClickYes软件。不需要Pro版本,直接下载免费版就行。这个软件类似脚本能帮我直接点击允许,甚至两次点击允许之间等待时间也被缩短,不知道具体如何实现的。这个程序运行需要管理员权限,从而也是有安全风险的,需要自己权衡了。总之我这次测试体验确实很好,也算是没有安全方案下的无奈之举了。