Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.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 ZF2转发电子邮件(Zend\Mail\Storage\Message)_Php_Email_Zend Framework2 - Fatal编程技术网

Php ZF2转发电子邮件(Zend\Mail\Storage\Message)

Php ZF2转发电子邮件(Zend\Mail\Storage\Message),php,email,zend-framework2,Php,Email,Zend Framework2,我需要使用Zend Framework 2转发电子邮件 我试过了 //$message - Zend\Mail\Storage\Message $message->to = 'lala@example.com'; $transport = new \Zend\Mail\Transport\Sendmail(); $transport->send($message); 但是$transport->send()只接受Zend\Mail\Message 任何人都知道在不创建新的Zend\

我需要使用Zend Framework 2转发电子邮件

我试过了

//$message - Zend\Mail\Storage\Message
$message->to = 'lala@example.com';
$transport = new \Zend\Mail\Transport\Sendmail();
$transport->send($message);
但是
$transport->send()
只接受
Zend\Mail\Message


任何人都知道在不创建新的
Zend\Mail\Message
的情况下前进的方法?

使用Charles idea找到了非常简单的前进方法:

    $fwd  = new \Zend\Mail\Message();
    $fwd->setBody($message->getContent());
    $h = $message->getHeaders();
    $h->removeHeader('To');
    $fwd->setHeaders($h);
    $fwd->addTo('email@example.com');
    $transport = new \Zend\Mail\Transport\Sendmail();
    $transport->send($fwd);

您正在使用哪个特定的ZF版本,以及现有消息来自哪个存储后端?看起来您可以在新消息上调用
getContent
getMessage
,并将它们传递给
setHeaders
setBody
,但这取决于旧消息返回的数据类型。@Charles ty,谢谢您的建议。我的zend版本是2.2.4。我正在使用IMAP获取消息。@StephanWeinhold,这里指定了Zend Framework 2,在标记为重复的问题中没有指定它。@lajos arpad,但在我看来,具体主题是相同的。呸,很高兴它起作用了。存储消息接口仅建议
getHeaders
getContent
的实现以邮件消息本机理解的方式返回其数据。