【问题标题】:ZF2 forward email (Zend\Mail\Storage\Message) [duplicate]ZF2 转发电子邮件(Zend\Mail\Storage\Message)[重复]
【发布时间】:2014-02-04 11:05:31
【问题描述】:

我需要使用 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 的前进方式吗?

【问题讨论】:

  • 您使用的是哪个特定的 ZF 版本,现有的 Message 来自哪个存储后端?看起来您可以调用 getContentgetMessage 并在新消息上将它们传递给 setHeaderssetBody,但这将取决于旧消息返回的数据类型。
  • @Charles ty 为您提供建议。我的zend版本是2.2.4。我正在使用 IMAP 接收消息。
  • @StephanWeinhold,这里指定了Zend Framework 2,在标记为重复的问题中没有指定。
  • @lajos-arpad 但具体的话题在我看来是一样的。

标签: php email zend-framework2


【解决方案1】:

使用Charles的想法找到了非常简单的转发方式:

    $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);

【讨论】:

  • 唷,很高兴这有效。 Storage Message 接口仅建议getHeadersgetContent 的实现以Mail Message 本身可以理解的方式返回它们的数据。
猜你喜欢
  • 2011-04-22
  • 2011-02-09
  • 1970-01-01
  • 2013-02-21
  • 2021-12-08
  • 2018-06-10
  • 1970-01-01
  • 2011-11-18
  • 2014-11-26
相关资源
最近更新 更多