Email 接受服务器上所有传入的电子邮件

Email 接受服务器上所有传入的电子邮件,email,smtp,Email,Smtp,我想写一些电子邮件扫描软件,但不知道如何设置我的服务器。我有一个运行Windows 2003 server的托管web服务器。它使用完全限定的域名abcdef.com运行默认SMTP虚拟服务器(示例)。DNS正在将abcdef.com指向我的服务器。如果我从我的台式电脑中伪造电子邮件,使其看起来像是来自info@abcdef.com,我将电子邮件发送到一个“不存在”的电子邮件地址,然后反弹确实到达我的web服务器,并存储在服务器上的C:\inetpub\mailroot\Queue中-太棒了!(

我想写一些电子邮件扫描软件,但不知道如何设置我的服务器。我有一个运行Windows 2003 server的托管web服务器。它使用完全限定的域名abcdef.com运行默认SMTP虚拟服务器(示例)。DNS正在将abcdef.com指向我的服务器。如果我从我的台式电脑中伪造电子邮件,使其看起来像是来自info@abcdef.com,我将电子邮件发送到一个“不存在”的电子邮件地址,然后反弹确实到达我的web服务器,并存储在服务器上的C:\inetpub\mailroot\Queue中-太棒了!(我可以扫描它并处理反弹)。但是,如果我只是直接向info@abcdef.com然后,它似乎不会被放置在服务器上的任何位置。我不明白为什么会存储反弹回,但其他收到的电子邮件却不会。我希望避免在服务器上安装任何“电子邮件服务器软件”,因为我希望尽可能保持东西的整洁。我真正想要的是告诉服务器接受所有传入到abcdef.com的消息,这样我就可以自己处理它们,并将.eml文件放在我可以扫描的已知目录中。然后我将编写一个eml文件解析器来处理这些文件。
非常感谢。

SMTP是一种邮件传输代理(MTA),只负责处理邮件从一点(可能是客户端)传输到另一点(邮箱服务器,如POP或IMAP服务器)。SMTP服务器并不是最终处理进入域的邮件的正确工具——它们只处理将进入域的邮件传输到另一个应用程序,如前面提到的POP或IMAP服务器,然后这些应用程序知道如何对邮件进行排序和存储

简而言之,默认的SMTP虚拟服务器不是您为项目寻找的工具


从中可以看出,似乎有一些SMTP服务器是用于开发用途的,但可能会满足您的要求——它们接受传入的消息,然后将其写入文件(以某种方式,并进行了一些调整)。

缺少传递的可能原因是您的域有DNSa记录,但没有DNSMX记录。MX记录用于发送邮件。从历史上看,如果某个域没有MX记录,邮件服务器应该退回到查找域的a记录

在您的情况下,我猜您的本地邮件发送软件正在查找MX记录,如果找不到则会停止,而发送弹跳的远程系统正在查找MX记录,如果找不到则会查找A记录


维基百科关于的文章有更多细节。

好的,现在开始工作。问题如下:

  • 没有MX记录,因此没有将外部电子邮件定向到服务器。服务器上存在的.EML文件确实是通过出站电子邮件进程放在那里的
  • 防火墙阻止了端口25-现在已打开
  • 有必要在服务器上运行某种入站电子邮件服务。Windows Server有一个轻量级POP3服务,您可以将其配置为将所有传入的电子邮件放入一个“全面覆盖”邮箱。这将填充.EML文件,然后可以由我们的定制服务进行扫描

  • 非常感谢delfuego&Jon。

    好的,也许我不应该提到SMTP。但是,回跳邮件被放在C:\inetpub\mailroot\Queue中,那么为什么其他发往{anything}@abcdef.com的邮件没有被放在那里,我如何告诉服务器将它们放在那里?错误消息被存储,因为您谈论的是两个不同的事情,传出的电子邮件和传入的电子邮件。“反弹”消息是您试图从SMTP服务器发送的消息。当您的服务器连接到目标域的服务器并尝试传递消息时,目标服务器会说“没有这样的用户”;然后,服务器将消息留在传出队列中,以便管理员可以处理它。收到的邮件是完全不同的,正如我所说的,您选择的服务器——一个纯SMTP服务器——不处理收到的邮件。我在这里仍然感到困惑!我不想抓取我生成的电子邮件-我想访问发送到abcdef.com的所有电子邮件。我知道SMTP用于“出站”电子邮件-我需要处理入站电子邮件。我正在寻找最轻量级的方式来配置我的服务器,以便将入站电子邮件(来自互联网上的任何地方)存储在服务器上文件系统的某个位置。我是否必须使用某种描述的邮件服务器,或者我是否可以以某种方式配置服务器,以便将任何入站电子邮件简单地写入服务器的文件系统?再一次,默认的SMTP虚拟服务器不是您要寻找的工具--它不能满足您的需要。您需要另一个软件,一个处理入站邮件并将其保存到您打算处理的文件中的软件。如果你看一下我文章的最后一段,你会看到另一个堆栈溢出帖子的链接,它提供了一些选项。很显然,已经有了相应的MX记录,因为SMTP服务器从OP的第一次试用中收到了传递失败消息(使用abcdef.com域中的地址作为电子邮件的发件人:地址,然后将其发送给不存在的收件人)--目标域的邮件服务器知道将邮件返回到何处的唯一方法是通过MX记录。这可能是因为,或者OP正在第一次试用中使用此SMTP服务器尝试传递邮件,而目标服务器在带内拒绝该邮件。delfuego,no.Test 1是通过以下来源进行欺骗的:info@abcdef.com到远程域。测试2是直接邮寄到info@abcdef.com.这两个测试导致两封邮件从不同的邮件服务器发送到abcdef.com(可能是)。当其中一个邮件服务器找不到MX记录时,可能会退回到使用A记录,而另一个则没有。请参见t