在 qmail 中创建一个邮箱,然后将所有收到的邮件转发到 Gmail

在 qmail 中创建一个邮箱,然后将所有收到的邮件转发到 Gmail

我需要让 PHP 从我的 Web 服务器向我的 Web 应用用户发送邮件。因此,我qmail在 Debian 服务器上安装了:

sudo apt-get install qmail

我还更新了/etc/qmail指定我的域名的文件,然后sudo qmailctl reload运行sudo qmailctl restart

/etc/qmail/defaultdomain # Contains 'mydomain.com'
/etc/qmail/defaulthost   # Contains 'mydomain.com'
/etc/qmail/me            # Contains 'mail.mydomain.com'
/etc/qmail/rcpthosts     # Contains 'mydomain.com'
/etc/qmail/locals        # Contains 'mydomain.com'

mail使用标准PHP 库,电子邮件可以从我的 PHP 脚本毫无问题地发送到任何电子邮件地址。

现在问题如果我使用 PHP[email protected]作为发件人地址发送邮件,我希望客户可以回复该地址!并且可能,我希望发送到此地址的所有邮件都转发到我的个人 Gmail 地址。

目前qmail似乎不接受任何来信,因为“邮箱名称无效“。下面是我与服务器建立的完整的 SMTP 会话:

me@MYPC:~$ nc mydomain.com 25

220 ip-XX-XX-XXX-XXX.xxx.xxx.xxx ESMTP
HELO [email protected]
250 ip-XX-XX-XXX-XXX.xxx.xxx.xxx
MAIL FROM:<[email protected]>
250 ok
RCPT TO:<[email protected]>
250 ok
DATA 
554 sorry, invalid mailbox name(s). (#5.1.1)
QUIT

我确信我遗漏了与邮箱或别名创建相关的某些内容,事实上我没有做任何定义邮箱的事情[电子邮件保护]任何地方。但我尝试在网上和众多qmail手册页上搜索一些东西,但我什么也没找到。

答案1

qmail 有两种基本方法来确定如何处理电子邮件地址的本地部分。第一种方法是检查该名称是否有实际帐户 - 因此,如果您的服务器上有一个名为 info 的用户,该用户将收到邮件。第二种方法是查找别名文件。这是一个名为的文件.qmail-localpart,当服务器仅处理一个域时,该文件应该位于/var/qmail/alias(或/etc/qmail/alias/var/lib/qmail/alias) 中。

因此,您需要做的是:

  • 创建一个名为 /etc/qmail/aliases/.qmail-info 的文件(或者可能是 /var/qmail/aliases/.qmail-info,取决于您的设置)
  • 该文件应包含文本&[email protected]

就这些了!有关 qmail 的更多信息,我建议Dave Sill 与 qmail 的生活。还有一个 qmail 邮件列表,尽管我不确定它有多活跃 —— 自从我担任电子邮件系统管理员以来已经有几年了,所以我离开了该列表。

相关内容