我已正确安装了postfix和dovecot,并根据本指南进行了所有配置:http://www.krizna.com/ubuntu/setup-mail-server-ubuntu-14-04/
但是当我尝试通过终端发送邮件时:
sudo php -r "mail('xyz@xyz.com', 'test', 'test');"
它给了我错误
sh: 1: /etc/postfix: Permission denied
我尝试chmod -R 777
到/etc/postfix
目录,我仍然遇到同样的错误。
我该怎么做才能让这个工作?我只想将邮件从我的服务器发送到其他邮件,如Gmail(即xyz@xyz.com到abc@gmail.com)
我甚至在我的dns管理器中配置了mx记录和记录。
如果我看到Postfix日志,我就有了这个:
Feb 2 12:30:33 myhost postfix/pickup[16695]: ED7A120FD3: uid=33 from=<www-data>
Feb 2 12:30:33 myhost postfix/cleanup[4891]: ED7A120FD3: message-id=<20160202173033.ED7A120FD3@xyz.com>
Feb 2 12:30:33 myhost postfix/cleanup[4891]: warning: hash:/etc/postfix/virtual is unavailable. open database /etc/postfix/virtual.db: No such file or directory
Feb 2 12:30:33 myhost postfix/cleanup[4891]: warning: hash:/etc/postfix/virtual lookup error for "xyz@xyz.com"
Feb 2 12:30:33 myhost postfix/cleanup[4891]: warning: ED7A120FD3: virtual_alias_maps map lookup problem for xyz@xyz.com -- message not accepted, try again later
我在Ubuntu 14.04上使用运行Apache 2的PHP 7
(注意:Postfix和dovecot似乎正在工作,因为我按照教程中的说明进行了telnet并获得了正确的响应。)
答案 0 :(得分:0)
您忘记了sudo postmap /etc/postfix/virtual
。
答案 1 :(得分:0)
解决了我的问题。仅在从终端访问Postfix时发生权限错误。从PHP脚本访问时它可以工作。
此外,我必须修改我之前设置为/ etc / postfix的PHP.ini sendmail路径。