我想将一条消息附加到 imap 发送箱 - 下面的代码就是这样做的,但是将消息视为新消息。
根据我的理解,添加 SEEN 选项应该将其标记为已读,但是我已经尝试了该选项的每个可能位置,但仍然将消息标记为新消息。
查看了 imap_setflag_full,这需要一个邮件号码来设置标志,鉴于刚刚添加了电子邮件,我看不出有什么办法可以获取该号码来设置标志(?)。
有什么建议吗?
imap_append($inbox, "{mail.domain.com:143/imap/notls}INBOX.Sent"
, "From: $fromaddress\r\n"
. "To: $toaddress\r\n"
. "Subject: [Email Processed] $subject\r\n"
. "Date: $date_return \r\n"
. "X-Mailer: Cmail_v2.0 \r\n"
. "X-Originating-IP: {$_SERVER['REMOTE_ADDR']}\r\n"
. "MIME-Version: 1 \r\n"
. "Content-Type: text/html;\r\n\tcharset=\"ISO-8859-1\"\r\n"
. "Content-Transfer-Encoding: 8bit \r\n"
. "\r\n\r\n"
. "$message_return \r\n"
);
最佳答案
通过 $options
参数传递您的标志。
http://php.net/manual/en/function.imap-append.php#74907
The last argument, $options, are flags like for use with imap_setflag_full.
编辑: 再次阅读您的帖子后,我意识到您可能已经通过 $options 参数传递了标志。这很好,但如果你通过了“SEEN”,那就是你的问题了。 IMAP4 RFC: Section 2.3.2. Flags Message Attribute将其定义为带有反斜杠和大写 S 的“\Seen”。该标志字符串是否解决了您的问题?
关于PHP imap_append - 设置 SEEN 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12485868/