4

メッセージを 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"
                       );
4

1 に答える 1

4

フラグを$options引数に渡します。

http://php.net/manual/en/function.imap-append.php#74907

最後の引数 $options は、imap_setflag_full で使用するようなフラグです。

編集: あなたの投稿をもう一度読んだ後、 $options パラメーターを介してフラグを既に渡している可能性があることに気付きました。それは良いことですが、「SEEN」を渡している場合は、それが問題です。IMAP4 RFC :セクション 2.3.2。Flags Message Attributeは、バックスラッシュと大文字の S を使用して「\Seen」と定義しています。そのフラグ文字列で問題は解決しましたか?

于 2012-09-18T23:09:26.623 に答える