我有一个运行文件的 cron 命令,我正在尝试设置输出,以便它通过电子邮件发送给我。我将它与不想修改直接文件的 3rd 方脚本一起使用,因此我需要通过管道传输输出而不是修改 PHP。
我正在从mail使用sendmail. 我正在努力找出如何通过命令行正确地将主题发送到 sendmail。
/usr/local/bin/php -f /path/to/file.php 2>&1 | /usr/sbin/sendmail -s "My Test Email Subject" test@email.com
Run Code Online (Sandbox Code Playgroud)
tim*_*day 14
在我的 Debian 系统上(它有 Exim 而不是“真正的”sendmail,但为了兼容性仍然有一个 sendmail 二进制文件),当我想从脚本发送邮件时,我会做一些等效于:
cat <<EOF | sendmail -t
To: recipient@example.com
Subject: Testing
From: sender@example.com
This is a test message
EOF
Run Code Online (Sandbox Code Playgroud)
请注意,空行很重要。
/usr/sbin/sendmail
那是错误的。
你应该mail在某个地方有一个命令。可以这样称呼mailx。应该在/bin/目录里。作为标准做法,php 脚本永远不应该调用/sbin或中的任何内容/usr/sbin。sbin 程序通常适用于 root 用户。
另外,php有一个内置的邮件功能。