主な質問
imap_mail_move
カスタムIMAPクラス(XAMPPでローカルでテスト/使用)を構築していますが、何らかの理由で、フラグ付きのUIDを保持しようとしているときに関数を使用したい場合CP_UID
、メッセージが動かないようです。ただし、フラグを削除すると完全に機能します。
以下の関数を呼び出します。
return @imap_mail_move($this->stream, $messageNumber, $folder, CP_UID);
IMAPは正常に接続されています(ただし、常にSECURITY PROBLEM: insecure server advertised AUTH=PLAIN (errflg=1)
0行目でエラーが発生し、メッセージ番号とフォルダーへの移動が正しく定義されています。
削除する@
と、それが機能しない理由についての手がかりが明らかになりor die('error!')
ません。最後に追加する場合も同様です。機能しているようですが、何もしません。
クラスのDestruct関数は、以下のように存在します(したがって、IMAP接続を閉じて消去します)。
@imap_close($this->stream, CL_EXPUNGE);
その他のIMAPの質問
処理、カスタム処理、検索などを高速化するために、すべての電子メールをMySQLデータベースに保存します。ただし、Outlook(など)内でメッセージを移動すると、いくつかの問題が発生する可能性があることに気付きました。
メッセージのUIDを更新する最良の方法は何ですか?これはデータベースに保存してすばやくアクセスできるためですが、メッセージが移動した場合は変更できます。message numbers/UID
または、電子メールを移動/削除/フラグを立てるときに取得するために、よりユニークなものを使用して使用するためのより良い機能はありますか?私は当初、UIDは変更されないと思っていましたが( http://www.php.net/manual/en/function.imap-uid.phpを信じるように)、実際には変更されているようです。
また、メッセージを移動した後に新しいUIDを取得することは可能ですか?