我已经尝试了很多方法来处理文件后移出INBOX,但似乎imap_mail_copy和imap_mail_move的所有PHP方法都没有为我开火。为什么imap_delete有效,而其他对我来说不是一个谜。
这就是我的尝试:
<?
$imap = imap_open("{mail.myserver.com:995/pop3/ssl/novalidate-cert}", "sample@myserver.com", "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 :(得分:1)
您在POP3端口上使用IMAP命令。 POP3仅允许抓取和删除(请参阅RFC 1939)。
使用真实的IMAP连接,然后imap_mail_move
将起作用。
答案 1 :(得分:0)
解决方案与服务器语法有关,而不是PHP代码:
$host="{myserver.com:143/notls}";
$user="sample@myserver.com";
$pass="password";
$imap=imap_open( $host, $user, $pass );
这适用于部落网络邮件