PHP IMAP - 无法识别盒子

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" }

这些方框是葡萄牙语的。当我连接到不同的帐户时,这些框有英文名称。这意味着我无法知道哪个盒子是 Trash 盒子,或者 Sent 盒子,例如。

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

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

这个问题有点棘手。我通过使用套接字连接而不是使用 PHP 本机 imap 函数连接到 imap 客户端来解决这个问题。这样我就得到了我需要的特殊用途属性。