我认为这将帮助您:将
传入的电子邮件通过管道传输到 Windows IIS SMTP 上的脚本?
部分答案:
IIS SMTP 服务可以发送电子邮件,也可以接受电子邮件。
这就是你想要做的。
将 IIS SMTP 服务配置为接受域的电子邮件(您可以在 IIS SMTP 服务的属性中的域下进行配置)。说域名“myserver.example.com”
然后,在您的 DNS 服务器中,配置指向“myserver.example.com”的 MX 记录。
现在,当电子邮件被发送到您的 IIS SMTP 服务器时,它实际上会被放置在您的 mailroot/drop 文件夹中(您也可以在 IIS SMTP 服务属性中更改此文件夹)。
现在您正在接受电子邮件,下一步是编写一个脚本,它将:
1)解析电子邮件。
2)相应地修改它们(你只是想改变“到”地址吗?)。
这是诀窍,因此您需要解析传入的电子邮件并仅转发那些验证电子邮件的邮件.. 以及未通过验证的邮件,从电子邮件中读取“FROM”地址并回复他!
3)如果您想重新发送电子邮件,那么您需要相应地修改它们。您将需要添加一个 X-Sender 标头,用于标识发送电子邮件的电子邮件地址,以及一个 X-Receiver 标头,用于每个将接受电子邮件的收件人。以下是修改后的示例电子邮件:
X-Sender: me@mywebsite.com X-Receiver: recip1@theirdomain.com X-Receiver: recip2@theirdomain.com From: "jim bob" To: Subject: test MIME-Version: 1.0 Content-Type: text/plain ; 消息 ID:<024f01c9e130$b3eca500$0401a8c0@local>
测试 一旦你有了这个修改过的内容,你就会想把它写到 mailroot/pickup 目录中的一个文件中。请务必使用唯一的名称。
IIS SMTP 服务会过来,提取电子邮件并转发它,使用 X-Sender 作为 MAIL FROM 地址发送电子邮件,并将其发送到每个 X-Receiver 标头中列出的每个电子邮件地址。
4)将此脚本作为计划任务运行。另一种选择是将其构建为 Windows 服务,或者实现类似文件系统观察器的功能,每次将电子邮件创建为文件时都会在其中执行。
5)所有这一切的另一种选择是实际实现一个 SMTP 事件接收器,但我认为这对于你想要做的事情来说太过分了,并且会产生更多的头痛,而不是它解决的问题。如果我喜欢痛苦,我只会走事件汇路线。