【发布时间】:2015-02-12 15:12:45
【问题描述】:
我正在编写一个 PHP 脚本来读取和解析发送到共享邮箱的错误日志。
我正在使用 imap_open() 进行连接。
如果我使用以下凭据连接到我自己的邮箱,它可以正常工作
server: {outlook.office365.com:993/imap/ssl}
username: myname@domain.com
password: mypas$word
但是,如果我想使用以下凭据连接到 sared 邮箱,则会收到错误消息
server: {outlook.office365.com:993/imap/ssl}
username: myname@domain.com\shared-folder@domain.com
password: mypas$word
错误如下:User is authenticated but not connected. (errflg=2)
根据我的研究,这意味着我使用了错误的密码,但由于它在连接到我自己的收件箱时有效,所以不会错
我 100% 确定我的帐户可以访问共享邮箱,我可以通过 Office 365 网络界面通过我的帐户访问它
更多细节:我的密码包含一个 $ 符号,但这无关紧要。我在密码上使用了单引号并且转义 $ 符号没有帮助,即使是我的个人邮箱也会导致登录失败。
【问题讨论】:
-
那么到目前为止你做了什么?
-
这不是真正的编码问题,而是解释微软的错误代码。
-
是的,密码很重要,如果您使用的是
imap_open(...., "mypas$word")。那将是文字字符串mypas和变量$word中存在的任何(可能为 null)值。 -
当我连接到我自己的邮箱时,我可以列出所有的邮件,如果我想删除它们。当我想要共享文件夹时,我没有比连接尝试失败更进一步
-
我使用单引号作为密码。转义 $ 无济于事。密码适用于我自己的邮箱这一事实让我相信密码不是问题。