我想写一些电子邮件扫描软件,但不了解如何设置我的服务器。我有一个运行Windows 2003 Server的托管Web服务器。它正在运行默认SMTP虚拟服务器,其中包含完全限定的域名abcdef.com(示例)。 DNS将abcdef.com指向我的服务器。如果我从我的桌面电脑上欺骗了一封电子邮件,使其看起来来自info@abcdef.com,并且我将电子邮件发送到“不存在”的电子邮件地址,那么退回确实会到达我的网络服务器并存储在C中:服务器上的\ inetpub \ mailroot \ Queue - 太棒了! (我可以扫描它并处理反弹)。但是,如果我只是直接发送电子邮件到info@abcdef.com,那么它似乎不会被放置在服务器上的任何位置。我不明白为什么反弹存储,但其他传入的电子邮件不存储。我渴望避免在服务器上安装任何“电子邮件服务器软件”,因为我希望尽可能保持干净。所有我真正想要的是告诉服务器接受所有传入消息到abcdef.com的方式,以便我自己处理它们,并将.eml文件放在我可以扫描的已知目录中。然后,我将编写一个eml文件解析器来处理文件。 非常感谢。
答案 0 :(得分:1)
缺少投放的一个可能原因是您的域名拥有DNS A 记录,但没有DNS MX 记录。 MX记录用于传递邮件。从历史上看,如果域中没有MX记录,则邮件服务器应该回退到寻找域的A记录。
在你的情况下,我猜你的本地邮件发送软件正在寻找一个MX记录然后如果找不到就停止,而发送反弹的远程系统正在寻找MX记录,然后在找不到A记录时寻找A记录。
关于MX records的维基百科文章有更多细节。
答案 1 :(得分:0)
SMTP是一种邮件传输代理(MTA),仅负责处理从一个点(可能是客户端)到另一个点(邮箱服务器,如POP或IMAP服务器)的邮件传输。 SMTP服务器不是最终处理进入域的邮件的正确工具 - 它们只处理将进入域的邮件传输到另一个应用程序,例如前面提到的POP或IMAP服务器,然后知道如何对其进行排序和存储邮件。
简而言之,默认SMTP虚拟服务器不是您正在为项目寻找的工具。
从this other StackOverflow question开始,看起来有一些SMTP服务器可供开发使用但可能满足您的目的 - 它们接受传入的消息,然后将它们写入文件(以某种方式,并进行一些调整)。
答案 2 :(得分:0)
好的,现在就开始工作。问题如下:
非常感谢delfuego&乔恩。