发现IMAP设置

时间:2013-11-14 13:29:42

标签: php email imap discovery

我正在尝试找到一个可以帮助我支持发现功能的库或类,它需要在PHP中返回“建议的”IMAP设置。

host (str)
port (int)
ssl (boolean)
username (str) *optional

用户应该能够输入他们的电子邮件地址,并且脚本应该返回他们当前IMAP设置的建议。

2 个答案:

答案 0 :(得分:0)

请参阅RFC 6186

但是,它得到了很好的支持。大多数人使用Thunderbird源代码中的算法。但是6186是正确的。

答案 1 :(得分:0)

我最近在PHP中通过电子邮件检测邮件服务器设置的类似任务,并为此目的编写了一个小包:https://packagist.org/packages/punarinta/email-auth

这里简要介绍算法:

  • 找到IMAP主机
    • 尝试imap.mail.domain
    • 阅读电子邮件
    • 的MX记录
    • 尝试使用mx-record.domain
    • 尝试imap.mx-record.domain
    • 获取mx-record.domain的IP,通过IP反向查找,尝试imap.reversed.domain
  • 找到IMAP端口
    • 对于每个可能的主机(见上文),检查各种IMAP端口(993,143)