2011-01-18 2 views
0

Обычно в полном руководстве по PHP нет полных примеров использования функции imap_mail_copy. В частности, я ищу пример того, что нужно добавить в переменную $ msglist. В документации рекомендуется прочитать RFC2060, который я не могу понять.Как скопировать почту в другой почтовый ящик с помощью imap_mail_copy?

Я хочу, в конечном счете, написать функцию для копирования сообщения в папку Sent при отправке электронной почты.

Может ли кто-нибудь предоставить пример использования функции imap_mail_copy?

ответ

3

Если вы просто копируете одно сообщение, используйте тот же msg_number, который вы использовали бы в вызове imap_headerinfo (и т. Д.).

Если вы копируете несколько сообщений, соедините номера сообщений запятыми (но не пробелами). Например. "3,4,7,9".

The lousy documentation for imap_mail_copy говорит:

msglist является диапазон не просто номера сообщений (как описано в RFC2060 »).

Что это означает, что если вы хотите, чтобы скопировать кучу сообщений с порядковыми номерами сообщений (например, 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) Я думаю, что в любое время я смогу справиться с одним сообщением. Я попробую. – jjclarkson

+0

Если у вас есть UID, вы можете передать его прямо на 'imap_mail_copy'. Просто не забудьте передать 'CP_UID' как параметр' options'. – dkarp

Смежные вопросы