配置 Plesk 的邮件服务器仅发送邮件

配置 Plesk 的邮件服务器仅发送邮件

我对如何配置 plesk 邮件服务器感到有点困惑。我读到它使用 qmail,但在控制台中运行 qmail 时,我收到命令未找到的提示。另一方面,sendmail 似乎确实有反应,但尝试使用命令行发送电子邮件时,邮件却无法送达(尽管我也没有收到任何异常)。

无论如何,我想做的是从 PHP 内部发送邮件(使用 SMTP 发送到本地主机)。但是我不想(而 plesk 显然想这样做)托管我的域的邮件。相反,我的域的真正邮件服务器在另一台服务器上,但为了在服务器宕机时仍能保留邮件,我想要一个本地中继 smtp 服务器。

知道如何完成这一步吗,或者使用 plesk 的内置版本是否不可能完成这一步?

答案1

如果未找到 qmail 脚本,那么我会假设您的 Plesk 安装正在运行 Postfix。

由于您不希望 Plesk 处理您域名的邮件,因此最好的办法是禁用您域名上的邮件服务。在“邮件”选项卡上,转到“更改设置”并禁用“在域名上激活邮件服务”。只需确保您的真实邮件服务器在域名的 DNS 区域中具有适当的 MX 记录(可以使用 DNS 模板一起更改所有域名)。

将 Plesk 服务器配置为主服务器的冗余邮件服务器则是另一回事。我没有亲自尝试过,但我认为正确的步骤是

  1. 保持“在域上激活邮件服务”关闭,将 Plesk 添加为较低

  2. 为您的真实邮件服务器设置 Plesk Postfix 的优先级 MX

  3. 设置重定向到您的真实邮件服务器

我认为最后一步无法在 Plesk 中完成,那就是自定义调整。

答案2

我不太了解 Plesk 如何设置其邮件服务器,但以下是使用标准 qmail 安装进行设置的方法:

首先你需要找到你的 qmail 控制文件的位置。对于普通的 qmail 来说,它位于/etc/qmail/var/qmail/control

两个文件决定哪些域名被视为本地域名:localsvirtualdomains。如果从这些文件中删除所有行,qmail 将不会尝试在本地传递任何邮件。

rcpthosts是 SMTP 服务器将接受来自任何发件人的电子邮件的域列表。它通常等于 中的所有域locals加上 中的所有域virtualdomains。您可以从中删除所有条目。

locals和的更改virtualdomains在重新启动后生效qmail-send。看看 Plesk 是否允许您重新启动其邮件服务器;或者您可以直接终止 qmail-send,应该有重新启动它的机制。最坏的情况是,您可以重新启动整个服务器。

接下来,您需要允许从本地主机进行 SMTP 中继。几乎所有 qmail 安装(我猜 Plesk 也是如此)都已设置为执行此操作。尝试查看 Plesk 本身是否允许您配置它,或者它是否已在 PHP 中运行。在普通 qmail 上,/etc/tcp.smtp您必须运行命令后才能执行此tcprules操作,但我很确定 Plesk 执行此部分的方式不同。

更改rcpthosts立即生效(从技术上讲,对于更改后打开的所有 SMTP 连接均立即生效)。

相关内容