Php Zend日志/邮件缺少一些电子邮件
a使用Zend邮件/日志有困难。但最有可能的是Zend Mail。在我看来,我遗漏了一些有关使用Zend Mail发送电子邮件的重要信息。如果你能告诉我发生了什么,那就太好了 那么问题是什么: 我有两个操作:注册和登录 在注册表中,我首先记录了一个新帐户,如下所示:Php Zend日志/邮件缺少一些电子邮件,php,email,zend-framework,Php,Email,Zend Framework,a使用Zend邮件/日志有困难。但最有可能的是Zend Mail。在我看来,我遗漏了一些有关使用Zend Mail发送电子邮件的重要信息。如果你能告诉我发生了什么,那就太好了 那么问题是什么: 我有两个操作:注册和登录 在注册表中,我首先记录了一个新帐户,如下所示: $message = 'New Account: Email: ' . $email; $logger->warn($message); $mail = new Zend_Mail('
$message = 'New Account: Email: ' . $email;
$logger->warn($message);
$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);
我有一个相当复杂的数据库文件和邮件日志记录。如果优先级等于或高于警告,我会发送电子邮件。但是回到注册操作
登录后,我将新帐户放入数据库,并在操作结束时向用户发送电子邮件,如下所示:
$message = 'New Account: Email: ' . $email;
$logger->warn($message);
$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);
注册就这些了。现在是登录操作。只有日志,没有给用户的电子邮件,所以类似这样:
$message = 'New Account: Email: ' . $email;
$logger->warn($message);
$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);
这是所有的登录
问题是我从来没有收到注册行动的日志电子邮件。我可以在数据库和文件中找到日志,但邮件没有发送
我迷路了,但我怀疑问题可能是在一次操作中发送多封电子邮件
非常感谢您的帮助
大卫
更新
- 我发现我在通过mail+mail to user登录的所有操作中都存在此问题
- 我在apache错误日志中发现:PHP警告:无法通过电子邮件发送日志条目;message=未建立到“具有应用程序的服务器的公共IP”的连接;代码=0;第410行/usr/local/share/ZendFramework-1.11.6/library/Zend/Log/Writer/Mail.php中的exception class=Zend\u Mail\u Protocol\u 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); }
from
设置为在发送此信息的服务器/域上运行的有效电子邮件地址?from设置正确,bla@bla.com这只是一个例子。在登录和注册操作中,from设置为相同的地址。我发现我还有一个操作,即登录到mail+向用户发送邮件,并且日志电子邮件从不发送。因此,当每次操作发送多封电子邮件时,问题确实会出现。我在apache错误日志中发现:PHP警告:无法通过电子邮件发送日志条目;message=未建立到“运行应用程序的服务器的IP”的连接;代码=0;第410行/usr/local/share/ZendFramework-1.11.6/library/Zend/Log/Writer/Mail.php中的exception class=Zend\u Mail\u Protocol\u exception