1

我正在尝试从我的 puphpet 虚拟机向我的机器发送电子邮件,但我似乎无法让 php 发送电子邮件。如果我跑

    流浪起来
    sudo apt-get 更新
    sudo apt-get install mailutils

然后我可以通过 vagrant ssh 终端发送电子邮件,效果很好,但我想通过 php 的邮件功能将它发送到我的机器。

    邮件 -s “测试” me@email.com
    Ctrl+d
    Ctrl+d

我正在运行这个似乎不起作用的脚本。

    $ok = mail('me@domain.com', 'test', 'test');
    var_dump($ok);

我试过安装后缀电子邮件和sendmail。关于为什么php不会发送任何电子邮件的任何想法......

更新

我将此行添加到puphpet文件夹中的 config.yaml 文件中。我还将 mailcatcher 更改为 0。然后我再次运行 vagrant provision。现在它工作得很好,完全没有延迟,只需确保已安装 sendmail/postfix。sudo apt-get install sendmail 或 postfix

mailcatcher:
    install: '0'

更远...

 ini: 
       sendmail_path: '/usr/sbin/sendmail -t -i'
4

1 回答 1

2

你检查过你的网络服务器的日志文件吗?您的 PHP 脚本可能正在系统上的错误位置查找邮件命令。也许邮件的符号链接不在正确的位置或丢失?你提到你做了postfix和sendmail。

在我的 ubuntu 系统上,我有后缀,邮件符号链接位于 /usr/bin/mail。

也尝试从命令行运行“php -i |grep mail”。在我的身上,我看到:

mail.add_x_header => On => On
mail.force_extra_parameters => no value => no value
mail.log => no value => no value
sendmail_from => no value => no value
sendmail_path => /usr/sbin/sendmail -t -i  => /usr/sbin/sendmail -t -i
mailparse
mailparse support => enabled
mailparse.def_charset => us-ascii => us-ascii
Path to sendmail => /usr/sbin/sendmail -t -i
MAIL => /var/mail/root
_SERVER["MAIL"] => /var/mail/root

查看“sendmail 路径”(即使在 postfix 上也是如此)和“sendmail 路径”。确保根据系统上的内容正确设置这些。

于 2014-07-11T13:12:02.350 回答