我为客户build立了一个表单,并意识到我在FROM字段中使用了一个无效的地址。 (501无效地址(回复MAIL FROM命令))。
有没有什么办法可以恢复这些提交给我的客户的电子邮件? 目前看来,postfix只是删除它们。
运行Debian。
想法?
如果您的Web服务器要直接连接到客户端的电子邮件主机(而不是使用智能主机),则可能会在根目录的邮箱中find它们,或者可能在提交电子邮件的用户(可能是www-data)的邮箱中find它们。
如果他们去了一个智能主机来交付,那么我会在该智能主机的根邮箱。
补充:如果您有权访问所有涉及的邮件服务器,您可以查看邮件日志并查看电子邮件的放置位置 – 通常标记为“死信”或“dead.letter”。如果你在mail.log中找不到它们或者对它们的引用,我想不出有什么其他的东西可以尝试。
在哪里看将取决于您的Web应用程序如何发送电子邮件。 如果您的Web应用程序通过“发言”SMTP向邮件服务器直接发送电子邮件,那么由于MAIL FROM:命令在电子邮件的内容被传输之前发送,所以电子邮件已经消失,因此在任何地方都不发送电子邮件。
否则,发生什么事取决于用来发送邮件的语言和function。 例如,在Linux上,PHP的mail()函数使用本地sendmail应用程序发送邮件,该应用程序将邮件“注入”本地SMTP服务器以供该服务器递送。 然后发生什么取决于服务器和问题。 在我的情况下,通过exim从PHP发送的不良邮件通常会跳转到www-data用户,但偶尔会出现“冻结”队列中的邮件,因为它无法弄清楚如何处理它。 这可能是postfix做类似的事情,在这种情况下,电子邮件可能是在/ var / spool / postfix /而不是/ var / spool / mail /