我有一个包含 1000 多个姓名和电子邮件地址的电子表格,以及一个带有收件人姓名插槽的电子邮件模板。看起来像这样:
Dear [name],
...
我如何自动填写姓名栏并发送电子表格中每一行的电子邮件?
我有编程技能,因此我愿意接受代码解决方案,但我认为已经存在针对此类事情的工具/方法。
一些限制:
- 这些需要通过我可以通过以下方式访问的电子邮件发送 Outlook 网络界面。
- 我希望收件人看不到其他收件人的电子邮件。答案是这个问题解释了如何实现这一点,但我需要一个能够个性化电子邮件的自动化解决方案。
答案1
据我所知,这可以通过 Word 的邮件合并功能完成。电子邮件将通过 Outlook 发送,您可以在“已发送邮件”文件夹中跟踪已发送邮件。如果您是 Exchange 帐户,已发送邮件将同步到网络邮件。
请查看以下文章中的步骤:使用 Excel 电子表格进行邮件合并 https://support.office.com/en-us/article/mail-merge-using-an-excel-spreadsheet-858c7d7f-5cc0-4ba1-9a7b-0a948fa3d7d3
您还可以参考 TechNet 论坛中讨论的以下主题:
答案2
您可以使用 Powershell 循环遍历地址并发送电子邮件,假设您知道 Exchange 服务器的详细信息
如果电子表格是 CSV 格式,则比 Excel 文件格式更简单。CSV 格式如下所示
name,email
person1,[email protected]
person2,[email protected]
然后你将运行类似于此的脚本 - 我还没有测试过此代码,但它是一个基础
$csv = import-csv \path\to\csv
foreach($person in $csv) {
$body = "Dear $person.name, blah blah"
Send-MailMessage -smtpserver your.server.ip.address -From 'your@email' -To $person.email -Subject 'subject' -body $body
}
这是不使用邮件合并的最简单的方法,因为邮件合并需要您电脑上的 Outlook。
参考: