Как переместить почтовое сообщение в папку с помощью php imap - PullRequest
2 голосов
/ 03 августа 2011

Я не могу переместить свои почтовые сообщения в сохраненную папку. Вот мой код:

$mbox = imap_open("{".$mail_server.":".$mail_port."}".$mail_folder,            
$mail_username, $mail_password) or die("Error opening mailbox: ".imap_last_error());

$countnum = imap_num_msg($mbox);
$msglist = array();

if( $countnum > 0 ) {
$num = 1;


while ($num <= $countnum) {

$msglist[] = $num;
$num++;

     }//end while loop

}

//move the email to our saved folder
imap_mail_move($mbox,implode(',',$msglist),'INBOX/Saved');
imap_expunge($mbox);
imap_close($mbox);

Когда я запускаю этот скрипт, ничего не происходит. Сообщение остается в папке «Входящие». Какие-нибудь мысли? Спасибо!

1 Ответ

6 голосов
/ 03 августа 2011

Просматривая документы для imap-mail-move () Я вижу, что вы склеили свой диапазон вместе с , и подсчитали с 1, поэтому нет необходимости в цикле for:

<?php 
$mbox = imap_open("{".$mail_server.":".$mail_port."}INBOX", $mail_username, $mail_password) or die("Error opening mailbox: ".imap_last_error());

$countnum = imap_num_msg($mbox);

if($countnum > 0) {
    //move the email to our saved folder
    $imapresult=imap_mail_move($mbox,'1:'.$countnum,'INBOX/Saved');
    if($imapresult==false){die(imap_last_error());}
    imap_close($mbox,CL_EXPUNGE);
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...