PHP IMAP-Can';t识别方框


PHP IMAP - Can't identify boxes

我正在创建一个PHP应用程序,将来自电子邮件帐户的所有电子邮件保存在我的数据库中。

当我连接到gmail帐户并使用imap_list()函数时,我会得到以下框:

 array {
[0]=> "{imap.gmail.com:993/ssl}INBOX"
[1]=> "{imap.gmail.com:993/ssl}[Gmail]/Caixote do Lixo"
[2]=> "{imap.gmail.com:993/ssl}[Gmail]/Com estrela"
[3]=> "{imap.gmail.com:993/ssl}[Gmail]/Correio enviado"
[4]=> "{imap.gmail.com:993/ssl}[Gmail]/Importante"
[5]=> "{imap.gmail.com:993/ssl}[Gmail]/Rascunhos"
[6]=> "{imap.gmail.com:993/ssl}[Gmail]/Spam"
[7]=> "{imap.gmail.com:993/ssl}[Gmail]/Todo o correio" }

这些盒子是葡萄牙语的。当我连接到另一个帐户时,这些框都有英文名称。这意味着我无法知道其中哪个盒子是垃圾箱盒子,或者发送的盒子。

有没有办法正确识别每个盒子?

也许您应该检查每个文件夹中的消息数量?通常工作垃圾箱或发送框包含消息。

这个问题有点棘手。我通过使用套接字连接而不是使用PHP原生imap函数来连接到imap客户端,从而解决了这个问题。通过这种方式,我可以获得所需的特殊用途属性。