gpt4 book ai didi

windows - 将传入电子邮件通过管道传输到 Windows IIS SMTP 上的脚本?

转载 作者:可可西里 更新时间:2023-11-01 12:41:26 26 4
gpt4 key购买 nike

我有一个在 Windows IIS 上运行的 Web 应用程序。这个应用程序有一个数据库,其中每个项目都有一个唯一的键(1、2、3 ...)和一个电子邮件地址列表(以及其他内容)。

我希望用户使用标识该项目的电子邮件地址向服务器发送电子邮件,然后让服务器将消息转发到该项目的电子邮件地址。例如,如果用户向以下地址发送电子邮件:

item-75@myserver.example.com

然后服务器将接收电子邮件并将其通过管道传输到脚本。该脚本将在数据库中查询第 75 项以获取电子邮件地址列表,然后重新发送电子邮件。

我可以在 unix 系统上使用 sendmail 轻松完成此操作,但我不知道是否可以在 Windows 系统上完成类似的设置(或者是否需要额外的软件)。

最佳答案

(这听起来像是您想实现像 craigslist 这样的功能)。

IIS SMTP 服务可以发送电子邮件,也可以接受电子邮件。

这是你想要做的。

将您的 IIS SMTP 服务配置为接受域的电子邮件(您可以在 IIS SMTP 服务的属性中的域下进行配置)。说域名“myserver.example.com”

然后,在您的 DNS 服务器中,配置指向“myserver.example.com”的 MX 记录。

现在,当电子邮件发送到您的 IIS SMTP 服务器时,它实际上会被放置在您的 mailroot/drop 文件夹中(您也可以在 IIS SMTP 服务属性中更改此文件夹)。

既然您正在接受电子邮件,下一步就是编写一个脚本,它将:

1)解析邮件。

2)相应地修改它们(您只想更改“收件人”地址吗?)。

3)如果你想重新发送邮件,那么你需要相应地修改它们。您将需要添加一个 X-Sender header ,用于识别发送电子邮件的电子邮件地址,以及一个 X-Receiver header ,用于每个要接受电子邮件的收件人。这是修改后的电子邮件示例:

X-Sender: me@mywebsite.com
X-Receiver: recip1@theirdomain.com
X-Receiver: recip2@theirdomain.com
From: "jim bob" <jim@example.com>
To: <item-75@myserver.example.com>
Subject: test
MIME-Version: 1.0
Content-Type: text/plain;
Message-ID: <024f01c9e130$b3eca500$0401a8c0@local>


test

一旦你有了这个修改后的内容,你会想把它写到 mailroot/pickup 目录中的一个文件中。请务必使用唯一的名称。

IIS SMTP 服务将过来,接收电子邮件并将其转发,使用 X-Sender 作为 MAIL FROM 地址发送电子邮件,并将其发送到每个 X-Receiver header 中列出的每个电子邮件地址。

4) 将此脚本作为计划任务运行。另一种选择是将其构建为 Windows 服务,或实现类似 filesystemwatcher 的东西,它会在每次将电子邮件创建为文件时执行。

5) 所有这一切的另一种选择是实际实现 SMTP 事件接收器,但我认为这对于您想要做的事情来说太过分了,并且会产生比它解决的更多的麻烦。如果我喜欢痛苦,我只会走事件接收器路线。

希望我没有说得那么清楚。

关于windows - 将传入电子邮件通过管道传输到 Windows IIS SMTP 上的脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/926345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com