如何处理包含空格的文件夹名称?
在每个需要文件夹名称的函数中,即时使用字符串:
{server.address.com:port}"INBOX.abc def"
但它导致php崩溃:
Can't subscribe to mailbox "INBOX.abc def": no such mailbox
将字符串更改为:
{server.address.com:port}INBOX."abc def"
没有改变任何东西,仍然是错误。如何打开/检查/名称中包含空格的文件夹?
修改 问题更新了更好的错误消息
我试过的文件夹字符串的组合:
答案 0 :(得分:2)
解决!
根据RFC3501,邮箱命名(5.1):
任何一个原子特征之一的角色(见正式版) 语法)将要求邮箱名称表示为 引用字符串或文字。
包括空格:
atom-specials =“(”/“)”/“{”/ SP / CTL / list-wildcards / quoted-specials / resp-specials
所以,正确的文件夹字符串应为:
{server}“带空格的INBOX.folder”
但在我的情况下,正确的字符串是.....
{server}带空格的INBOX.folder
不知道为什么,似乎PHP的imap功能与RFC不完全兼容。或者只是我无法阅读和理解rfc。
答案 1 :(得分:1)
您可以在引用目录时尝试使用此sintax: “\ INBOX \带空格的文件夹”
因此,此解决方案获得“在我的机器上工作”证书。你得到什么错误代码?
答案 2 :(得分:0)
“\ INBOX \ abc def”这个更好,但也许你的INBOX在错误的位置!
我认为它必须在“htdocs”中!
并且您只能访问文件,而不能访问文件夹!
喜欢:“\ INBOX \ abc def \ file.txt”