PHP 用户无法通过 Mutt 发送电子邮件,但普通用户可以

标签 php linux email mutt

我正在试验 PHP,但遇到了一个问题。我试图让我的 php 脚本在进程完成时发送电子邮件。

<!DOCTYPE html>
<html>
<body>

<?php
echo shell_exec('echo "testing" | mutt -x -F /usr/web/mail.mut -s test -- my_email_here@gmail.com');
?>

<br>
Thanks. PDF copys of energy plots have been emailed.

</body>
</html>

结果是在页面上显示“Could not send message”的回显。

然而,当我登录到主机时,我可以发出完全相同的命令并且消息通过。

一些补充信息。主机是 Linux Mint 虚拟机。 MTA 是后缀。当以我的用户(而不是 PHP 用户)身份登录主机时,mutt 在终端上完美运行。我已经检查了指定的 mutt 配置文件的文件权限,应该没问题。 mutt 配置文件 (/usr/web/mail.mut) 只有我的 gmail 帐户信息。同样,当我执行相同的命令时,消息会通过。我也尝试查看/var/log/syslog 但没有条目。

感谢任何建议。

编辑:

根据 michal 的评论。我也尝试了以下相同的结果。

echo shell_exec('mutt -F /usr/web/mail.mut -s testing -- myemailhere@gmail.com < message');

最佳答案

没有解决问题,但找到了一个更好的解决方案来解决我正在尝试做的事情。

最终将 PHPMailer 与 ssmtp 结合使用(postfix 可以工作,但 ssmtp 非常容易设置)。

关于PHP 用户无法通过 Mutt 发送电子邮件,但普通用户可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30188268/

相关文章:

php - 如何评估将用户重定向到管理面板的 PHP session ?

php - 使用PHP获取目录中文件的最后修改日期

php preg_replace 问号 ("?") - 不工作

php - 多个实体坚持主义2 Zend

python - 运行终端命令,因为启动 react 与手动不同(Linux树莓派)

linux - 具有 8 个 channel 的 ALSA 捕获流,但打开流为 4

编译我自己的内核(不是来自 linux-kernel 源代码)

android - 如何使用 "thread"或 "AsyncTask"发送电子邮件而不显示 Android 中的默认电子邮件

php - SendGrid SMTP 与联系表单集成

email - 通过电子邮件通知对多台计算机进行日志监控 - 按事件 ID 过滤