php-fpm使postfix将邮件从root@myDomain发送到root@myDomain

标签 php linux email

问题是当 PHP 尝试运行某些脚本时,我在 mail.log 中收到 bounce back 错误。

我查看了 /var/log/syslog:

Feb 13 12:09:01 myUserName CRON[11111]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -x /usr/lib/php5/sessionclean ] && [ -d /var/lib/php5 ] && /usr/lib/php5/sessionclean /var/lib/php5 $(/usr/lib/php5/maxlifetime))
Feb 13 12:39:02 myUserName postfix/pickup[27697]: 48E243F4E2: uid=0 from=<root>
Feb 13 12:39:02 myUserName postfix/cleanup[28826]: 48E243F4E2: message-id=<20160213123902.48E243F4E2@myDomain.com>
Feb 13 12:39:02 myUserName postfix/qmgr[27698]: 48E243F4E2: from=<root@myDomain.com>, size=732, nrcpt=1 (queue active)
Feb 13 12:39:02 myUserName postfix/virtual[28828]: 48E243F4E2: to=<root@myDomain.com>, orig_to=<root>, relay=virtual, delay=0.17, delays=0.12/0.01/0/0.04, dsn=5.1.1, status=bounced (unknown user: "root@myDomain.com")

为什么会这样?我应该如何预防?它使我的日志文件变得困惑。


编辑 1:

我使用 php-fpm 并且 maxlifetime 的内容是:

#!/bin/sh -e

max=1440

if which php5 >/dev/null 2>&1; then
    for sapi in apache2 apache2filter cgi fpm; do
        if [ -e /etc/php5/${sapi}/php.ini ]; then
            cur=$(php5 -c /etc/php5/${sapi}/php.ini -d "error_reporting='~E_ALL'" -r 'print ini_get("session.gc_maxlifetime");')
            [ -z "$cur" ] && cur=0
            [ "$cur" -gt "$max" ] && max=$cur
        fi
    done
else
    for ini in /etc/php5/*/php.ini /etc/php5/conf.d/*.ini; do
        cur=$(sed -n -e 's/^[[:space:]]*session.gc_maxlifetime[[:space:]]*=[[:space:]]*\([0-9]\+\).*$/\1/p' $ini 2>/dev/null || true);
        [ -z "$cur" ] && cur=0
        [ "$cur" -gt "$max" ] && max=$cur
    done
fi

echo $(($max/60))

exit 0

最佳答案

脚本总是产生输出,因此当您从 cron 运行它时,cron 会将输出邮寄给 crontab 的所有者。

您可以为此做一些事情:

您可以在 crontab 中设置 MAILTO=youraddress@example.com 来告诉 cron 将邮件发送到哪里。

您可以修改脚本以不输出任何内容。

您可以告诉 cron 丢弃脚本的输出,例如使用 >/dev/null 或类似的。

附言这个问题可能不属于这里。也许 serverfault 或 superuser 会更合适。

关于php-fpm使postfix将邮件从root@myDomain发送到root@myDomain,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35380061/

相关文章:

php - $this->db->where() 第三个参数不转义仅对此参数或生成的所有查询的查询吗?

php - 如何使用 PHP 让浏览器缓存图像?

java - 环境变量 CLASSPATH <> Clojure 的 CLASSPATH。为什么?

c - 如何在不删除项目的情况下查看 Linux (POSIX) 消息队列?

python-3.x - 在电子邮件中呈现的 HTML

php - 如何在 PHP 中通过正则表达式提取圣经书名、章节和经文编号?

php - URL 变量中的特殊字符

linux - cups pdf 打印的自定义参数

java - Eclipse:java.lang.NoClassDefFoundError:javax/activation/DataHandler

android - 如何仅使用电子邮件应用程序发送带附件的电子邮件?