Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend日志/邮件缺少一些电子邮件_Php_Email_Zend Framework - Fatal编程技术网

Php Zend日志/邮件缺少一些电子邮件

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('

a使用Zend邮件/日志有困难。但最有可能的是Zend Mail。在我看来,我遗漏了一些有关使用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