2017-05-18 59 views
0

我已經嘗試了很多方法來處理它之後讓文件移出INBOX,但似乎所有用於imap_mail_copy和imap_mail_move的PHP方法都不會爲我解僱。爲什麼imap_delete的作品和其他人不是我的謎。在PHP中使用imap移動一個電子郵件

這是我曾嘗試:

<? 
$imap = imap_open("{mail.myserver.com:995/pop3/ssl/novalidate-cert}", "[email protected]", "password"); 

if($imap) { 
$num = imap_num_msg($imap); 

if($num >0) { 


//imap_copy($imap, $num, "INBOX.Drafts"); --> illegal function 

//imap_mail_copy($imap, $num, "INBOX.Drafts"); --> throws "Copy not valid for POP3 (errflg=2)" error 
//imap_mail_copy($imap, $num, "INBOX/Drafts"); --> throws "Copy not valid for POP3 (errflg=2)" error 
//imap_mail_copy($imap, $num, "Drafts"); --> throws "Copy not valid for POP3 (errflg=2)" error 


//imap_mail_move($imap, $num, "INBOX.Drafts"); --> throws "Copy not valid for POP3 (errflg=2)" error 
//imap_mail_move($imap, $num, "INBOX/Drafts"); --> throws "Copy not valid for POP3 (errflg=2)" error 
//imap_mail_move($imap, $num, "Drafts"); --> throws "Copy not valid for POP3 (errflg=2)" error 

//imap_delete($imap, $num); --> this works, but I lose the email, which I dont want 

imap_expunge($imap); 

} 
imap_close($imap); 
} 
?> 

我很納悶,因爲「imap_delete」的作品,也許是可以移動或電子郵件中複製到另一個文件夾一些其他的PHP函數。

+0

我想:_「複製不適用於POP3」 _說,這一切。如果您只想移動並保存在服務器上,請使用IMAP進行連接。 –

+0

另請注意,'imap_num_msg()'不會*以這種方式工作 – MestreLion

回答

0

該解決方案具有與服務器的語法做,而不是PHP代碼:

$host="{myserver.com:143/notls}"; 
$user="[email protected]"; 
$pass="password"; 

$imap=imap_open($host, $user, $pass); 

這工作與部落的webmail

1

您在POP3端口上使用IMAP命令。 POP3只允許提取和刪除(請參閱RFC 1939)。

使用一個真正的IMAP連接,然後imap_mail_move將工作。

相關問題