我需要让 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 邮件列表,尽管我不确定它有多活跃 —— 自从我担任电子邮件系统管理员以来已经有几年了,所以我离开了该列表。