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

我需要让PHP从我的networking服务器发送邮件给我的networking应用程序用户。 所以我在我的Debian服务器上安装了qmail

 sudo apt-get install qmail 

我还在/etc/qmail更新了指定我的域名的文件,然后运行sudo qmailctl reloadsudo 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脚本发送到任何电子邮件地址没有任何问题。

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

目前qmail似乎不接受任何传入的邮件,因为“ 无效的邮箱名称 ”。 这里是我用我的服务器build立的一个完整的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 

我确定我错过了与邮箱或别名创build有关的事情,实际上我没有做任何事情来定义邮箱[email protected]在任何地方。 但是我试图在networking上和众多的qmail手册页上search一些东西,但是我什么都没发现。

qmail有两个基本的方法可以找出如何处理电子邮件地址的本地部分。 首先是检查是否有一个真实的帐户名称 – 所以如果你有一个用户在你的服务器上的信息,该用户将得到的邮件。 第二种方法是查找别名文件。 这是一个名为.qmail-localpart的文件,当服务器只处理一个域时,该文件应位于/var/qmail/alias (或/etc/qmail/alias/var/lib/qmail/alias )中。

所以,你需要做的是:

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

这应该是一切! 有关qmail的更多信息,我推荐Dave Sill使用qmail进行生活 。 还有一个qmail邮件列表,虽然我不确定它是多么活跃 – 从我是一个电子邮件系统pipe理员已经有几年了,所以我已经离开了列表。