【发布时间】:2011-03-08 23:33:33
【问题描述】:
有没有办法使用 .net 创建控制台应用程序。或服务通过某个端口侦听 SMTP 消息?
我需要创建一个中间层对象来捕获和处理 smtp 消息。也就是说,我希望这个监听器发送和接收 smtp 消息,然后分解为它的基本组件并持久化到一个 sql server 数据库。
如果有现成的解决方案就更好了。我在网上乱跑时找不到。
注意:smtp 发送者将是网络上的一个 web 应用程序,以及交换。侦听器将被分配一些端口,因此该端口上的所有 smpt 流量都将被指定用于我的特定应用程序。
【问题讨论】:
-
所以基本上你想写一个 SMTP 服务器?为什么不让常规 SMTP 服务器简单地将邮件转发到您的应用程序? Postfix 和 sendmail 都非常有能力将整个电子邮件转发到外部程序。
-
@marc:它们是否可以扩展到每秒处理 10、100、1000 条消息?以及我的应用程序将如何解析电子邮件以从正文、附件中提取...?对不起,如果我不清楚。如果可能的话,我正在寻找一个 .net 代码示例。
-
sendmail 多年来一直在处理数以万亿计的电子邮件。它将从 0 扩展到硬件可以支持的任何内容。但是,如果您这样做是为了接收自定义消息,为什么还要为 SMTP 开销而烦恼呢?没有什么说你不能编写自己的协议。
-
@marc: Postfix 和 sendmail 都是基于 unix 的,我需要它在 windows 上运行。
-
IIS 有一个您可以使用的 smtp 模块,但我不知道您是否可以让它通过管道将传入的邮件发送到外部程序。但同样:如果您在自定义端口上运行 SMTP,那么为什么还要使用 SMTP?