Bar*_*itz 10 windows email iis smtp
我有一个在Windows IIS上运行的Web应用程序.这个应用程序有一个数据库,其中每个项目都有一个唯一的密钥(1,2,3 ......),以及一个电子邮件地址列表(以及其他内容).
我希望用户使用标识该项目的电子邮件地址向服务器发送电子邮件,然后让服务器将邮件中继到该项目的电子邮件地址.例如,如果用户向以下地址发送电子邮件:
item-75@myserver.example.com
Run Code Online (Sandbox Code Playgroud)
然后服务器将收到电子邮件并将其传递给脚本.该脚本将在数据库中查询项目75以获取电子邮件地址列表,然后重新发送电子邮件.
我可以在使用sendmail的unix系统上轻松完成此操作,但我不知道是否可以在Windows系统上完成类似的设置(或者是否需要其他软件).
(这听起来像你想要实现像craigslist这样的功能).
IIS SMTP服务可以发送电子邮件,也可以接受电子邮件.
这是你想要做的.
配置IIS SMTP服务以接受域的电子邮件(您可以在域SMTP下的IIS SMTP服务的属性中配置它).说域名"myserver.example.com"
然后,在DNS服务器中,配置指向"myserver.example.com"的MX记录.
现在,当电子邮件发送到您的IIS SMTP服务器时,它实际上将被放置在您的mailroot/drop文件夹中(您也可以在IIS SMTP服务属性中更改此文件夹).
现在您正在接受电子邮件,下一步是编写一个脚本,该脚本将:
1)解析电子邮件.
2)相应地修改它们(你只想更改"到"地址吗?).
3)如果要重新发送电子邮件,则需要相应地修改它们.您需要添加一个X-Sender标头,用于标识发送电子邮件的电子邮件地址,以及一个X-Receiver标头,用于接收该电子邮件的每个收件人.以下是修改后的示例电子邮件:
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
Run Code Online (Sandbox Code Playgroud)
获得此修改后的内容后,您需要将其写入mailroot/pickup目录中的文件.请务必使用唯一的名称.
IIS SMTP服务将通过,接收电子邮件并将其中继,使用X-Sender作为MAIL FROM地址发送电子邮件,并将其发送到每个X-Receiver标头中列出的每个电子邮件地址.
4)将此脚本作为计划任务运行.另一个选择是将其构建为Windows服务,或者实现类似filesystemwatcher的功能,每次将电子邮件创建为文件时它都会执行.
5)所有这一切的另一个选择是实际实现一个SMTP事件接收器,但我认为这对你想做的事情来说太过分了,并且可能会产生比它解决的更多麻烦.如果我喜欢疼痛,我只会去事件接收路线.
希望我没有像泥一样清楚.