Zend日志/邮件遗漏​​了一些电子邮件

时间:2013-10-20 14:10:53

标签: php email zend-framework

a Zend Mail / Log有困难。但最有可能的是Zend Mail。在我看来,我遗漏了一些关于使用Zend Mail发送电子邮件的重要信息。如果你能给我一些提示,那会很棒。

那么问题是什么:

我有两个动作:注册和登录。

在注册表中我首先记录有这样一个新帐户:

$message = 'New Account: Email: ' . $email;                    
$logger->warn($message);

我有一个非常复杂的日志记录到db文件和邮件。如果优先级等于或高于WARN,我会发送电子邮件。但回到登记行动。

记录后,我将新帐户放入数据库,在操作结束时,我会向用户发送电子邮件,如下所示:

$mail = new Zend_Mail('UTF-8');
$mail->setFrom(bla@bla.com);
$mail->setReplyTo(bla@bla.com);
$mail->addTo(user_email);
$mail->setSubject($subject);
$mail->setBodyText($message);
$mail->send();

这就是注册。现在登录操作。只有日志,没有给用户的电子邮件,所以像这样:

$message = "Login: $email";
$logger->warn($message);

这就是登录的全部内容。

问题是我从未收到过注册操作的日志电子邮件。我可以在db中找到日志,也可以在文件中找到,但邮件不会被发送。

我迷路但我怀疑在一次动作中发送多封电子邮件时可能会出现问题。

任何帮助非常感谢,

大卫

更新

  • 我发现在通过邮件+邮件记录到用户的所有操作中都存在此问题

  • 我在apache错误日志中发现了这个:PHP警告:无法通过电子邮件发送日志条目; message =没有建立与“带应用程序的服务器的公共IP”的连接; code = 0;第410行/usr/local/share/ZendFramework-1.11.6/library/Zend/Log/Writer/Mail.php中的异常类= Zend_Mail_Protocol_Exception

  • 在/usr/local/share/ZendFramework-1.11.6/library/Zend/Log/Writer/Mail.php的410处,有:

    try {
        $this->_mail->send();
    } catch (Exception $e) {
        trigger_error(
            "unable to send log entries via email; " .
                "message = {$e->getMessage()}; " .
                "code = {$e->getCode()}; " .
                    "exception class = " . get_class($e),
            E_USER_WARNING);
    }
    

1 个答案:

答案 0 :(得分:0)

没人?在我看来,一个SMTP连接阻止了另一个。