使用 Postfix 在本地创建邮件并将其保存到收件箱

使用 Postfix 在本地创建邮件并将其保存到收件箱

显然,这很简单,只需向本地帐户发送电子邮件,然后配置 Postfix 以接收本地帐户的邮件即可。还不错!

原始问题

该假设的服务器将在 LAMP 上运行 Postfix。

我在网页上有一个联系表,其内容通过 PHP mail() 发送到联系人电子邮件地址。

有没有办法将表单内容直接保存为邮件到服务器(使用 postfix)而不是真正将其发送到服务器并再次接收?

我之所以要这样做是因为我想使用用户的电子邮件地址作为发件人地址,而如果没有正确配置标题和其他内容,这可能会有问题,据我对黑名单等的理解。除此之外,当然,服务器花费带宽向自己发送邮件似乎是多余的。:)

我所需要的只是在这里指明正确的方向,但如果有人能给出详细的解释,那也会非常感激。

注意:我尝试通过谷歌搜索查找有关如何执行此操作的信息,但无济于事。我自己没有尝试过 Postfix,因为我不知道从哪里开始。

答案1

如果您要向本地域发送电子邮件,则该邮件将在本地发送,而不是通过互联网发送。因此,您需要做的就是相应地配置 Postfix。您需要将本地域添加到我的目的地main.cf在 Postfix 中的文件中。

mydestination(默认:$myhostname,localhost.$mydomain,localhost)

通过 $local_transport 邮件传递传输传递的域列表。默认情况下,这是 Postfix local(8) 传递代理,它会在 /etc/passwd 和 /etc/aliases 中查找所有收件人。SMTP 服务器使用 $local_recipient_maps 验证收件人地址并拒绝不存在的收件人。

请参阅详细操作方法:

Postfix基本设置如何

设置本地电子邮件服务器(Linux、Unix、Mac)

答案2

您至少有两种方法可以实现此目的:

1) 不要为此使用邮件。您只需将联系表单保存到数据库,而不将其发送出去。当管理员可以找到来自用户的消息时,他们将在后端系统中拥有“联系消息”部分。

2)mydestination在 postfix 配置中设置属性。Postfix 知道自己管理哪些域,当目标域在此列表中时,它不会将其发送/接收,而只是发送到本地邮箱。别担心,postfix 是一款聪明的软件。

相关内容