I am trying to add a new message to IMAP folder using Zend Framework 3. The code I use is the following:
...
$draftMessage = new \Zend\Mail\Storage\Message([
'headers' => [
'subject' => '[email protected]',
],
'content' => 'ala ma kota',
]);
[valid-imap-connection]->appendMessage($draftMessage, 'Drafts', [\Zend\Mail\Storage::FLAG_DRAFT]);
...
However I always get an exception thrown: Zend\Mail\Storage\Exception\RuntimeException:'cannot create message, please check if the folder exists and your flags' thrown in /.../zendframework/zend-mail/src/Storage/Imap.php(480)
I have also used in here a pseudo-element [valid-imap-connection] not to blur the problem - but the connection is working fine (retrieves messages, sends them, moves between folders etc.)
The folder exists - I have done some debuging even within ZF already and found out that in that line 480 the command returns NULL on the above code. If I change the folder into non-existing one - it returns false. The Exception itself is thrown once (! result) - so null is also true for this condition.
However even if I am removing the code that throws exception (And the code completes execution with that NULL value) - still the message is not appearing in the folder (checking directly on the disk). There's nothing interesting in Dovecot logs (apart from the fact the connection is successfully established).
Any ideas highly welcome :)
I think the problem was with 2 things:
So the code that works is following: