SMTP转发C#?

时间:2009-11-02 12:08:11

标签: c# smtp

我需要创建一个可以监听SMTP的Windows服务。

当收到电子邮件时,我需要处理它,然后将其转发到我真正的SMTP服务器以便发送。

任何人都可以在任何有用的源代码,库或教程中指出我如何开始这样做吗?

似乎我需要的只是一个简单的TCP侦听器和消息解析器,然后我可以使用.NET SmtpClient API重新发送消息?

3 个答案:

答案 0 :(得分:4)

我不知道您的所有要求,但IIS SMTP服务可以将传入的电子邮件保存到/ Drop目录。您可以编写一个文件监控服务来监控/ Drop目录中的新电子邮件,解析它们并对它们执行自定义操作,而不必编写完整的TCP / IP服务。

答案 1 :(得分:3)

Eric Daugherty在C# email server上有一个sourceforge。这将做服务器。要将邮件转发到另一个SMTP服务器,可以使用默认的System.Net.Mail.SmtpClient类。

或者你写了custom transport binding element for WCF(开玩笑)。

答案 2 :(得分:2)

您可能想要查看此link。文章指出“MailServerComponent实现了POP3和SMTP(核心)服务器。它处理低级别的POP3和SMTP命令并根据它来引发事件.MailServer服务只处理MailServerComponent事件并进行邮件检索和存储工作。”它至少可以作为你的起点。

你是对的,你可以实现自己的(TCP)套接字监听器来处理和处理所有必需的SMTP消息。检查协议规范here