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);
}
答案 0 :(得分:0)
没人?在我看来,一个SMTP连接阻止了另一个。