我正在尝试使用Zend Framework 3向IMAP文件夹添加新消息。我使用的代码如下:
...
$draftMessage = new \Zend\Mail\Storage\Message([
'headers' => [
'subject' => 'voyteck0@gmail.com',
],
'content' => 'ala ma kota',
]);
[valid-imap-connection]->appendMessage($draftMessage, 'Drafts', [\Zend\Mail\Storage::FLAG_DRAFT]);
...但是,我总是会抛出一个异常: Zend\Mail\Storage\Exception\RuntimeException:'cannot create message,请检查文件夹是否存在,并在/.../zendframework/zend-mail/src/Storage/Imap.php(480)中抛出您的标志
我还在这里使用了一个伪元素valid-imap-connection,以避免模糊问题--但连接工作正常(检索邮件、发送邮件、在文件夹之间移动等)。
文件夹存在-我已经在ZF中做了一些调试,发现在上面的代码中,480行的命令返回NULL。如果我将文件夹更改为不存在的文件夹-它将返回false。异常本身被抛出一次(!结果)-因此对于这种情况,null也是真的。
然而,即使我删除了抛出异常的代码(并且代码使用该空值完成了执行),消息仍然不会出现在文件夹中(直接在磁盘上检查)。在Dovecot日志中没有任何有趣的东西(除了成功建立连接的事实之外)。
非常欢迎任何想法:)
发布于 2018-07-11 22:33:10
我认为问题出在两件事上:
我应该使用\Zend\
因此,可以工作的代码如下:
...
$draftMessage = new \Zend\Mail\Message();
$draftMessage->setSubject('voyteck0@gmail.com');
$draftMessage->setBody('ala ma kota');
[valid-imap-connection]->appendMessage($draftMessage->toString(), 'Drafts', [\Zend\Mail\Storage::FLAG_DRAFT]);
...https://stackoverflow.com/questions/51216732
复制相似问题