2011-01-18 10 views
0

通常、包括的なPHPマニュアルには、imap_mail_copy関数を使用した完全な例がありません。具体的には、$ msglistで関数に渡す変数の例を探しています。私が理解できない読書RFC2060を読むことを推奨します。imap_mail_copyを使用してメールを別のメールボックスにコピーするにはどうすればよいですか?

電子メールの送信時に、送信済みフォルダにメッセージをコピーする機能を最終的に作成したいと考えています。

誰かがimap_mail_copy機能の使用例を提供できますか?

答えて

3

メッセージを1つだけコピーする場合は、imap_headerinfoコール(など)で使用するのと同じmsg_numberを使用してください。

複数のメッセージをコピーする場合は、メッセージ番号をコンマで区切ります(スペースは入れないでください)。例えば。 "3,4,7,9"。

The lousy documentation for imap_mail_copyは言う:(»RFC2060で説明したように)

msglistは範囲だけでなく、メッセージ番号です。

これが意味することは、(例えば1,2,3,4,5,6,7)連続したメッセージ番号とメッセージの束をコピーしたい場合は、単に「範囲」を使用し、「1:7」としてそれをエンコードすることができるということです。しかし、正直言って、カンマで区切ったリストを作る方がはるかに簡単です。

それはthe imap_fetch_overview pageでかなり良く説明しています:

メッセージシーケンスの説明。 X、Y構文で任意のメッセージを列挙するか、またはX:Y構文で一定期間内のすべてのメッセージを取得することができます

+0

ああ、imap_msgno(http://php.net/manual/en /function.imap-msgno.php)いつでも1つのメッセージに対処していると思います。私はそれを試してみます。 – jjclarkson

+0

UIDを持っているなら、 'imap_mail_copy'に直接渡すことができます。 'CP_UID'を' options'パラメータとして渡すようにしてください。 – dkarp

関連する問題