使用mailcore2从IMAP帐户详细信息获取完整的电子邮件地址

时间:2014-02-02 15:46:18

标签: objective-c cocoa email imap mailcore2

是否可以向IMAP服务器询问用户的完整电子邮件地址(将mailcore2称为邮箱)?

我想知道原因的一些背景知识:

我要求我的用户输入他们的IMAP帐户详细信息,例如用户名,密码,主机名和端口。有了这些信息,我就可以成功连接到服务器。

在我的应用的另一部分,我需要知道与该IMAP帐户相关联的电子邮件地址。在大多数服务器上,用户名是实际的电子邮件地址,但并非总是如此。例如,当完整电子邮件为abc.def时,Google会接受用户名abc.def@gmail.com

你可以说:为什么这个问题?只要问用户他们的电子邮件。嗯,我不想通过要求用户输入另一串文本来夸大我的界面,所以这就是为什么我想知道是否有任何办法在幕后做这件事......谢谢。

3 个答案:

答案 0 :(得分:2)

有一个名为POSTADDRESS的IMAP扩展程序可以做你想做的事情,但很少有人支持扩展程序死亡。你可以在这一点上忽略它。

大多数明智的客户看到要求提供地址和密码,并根据电子邮件地址尝试一些可能的登录。如果猜测有效,如果不是,那就是询问用户的时间。

答案 1 :(得分:2)

通常的方法是反过来 - 你要求电子邮件地址,并让一些启发式方法确定其他设置,如IMAP服务器。

答案 2 :(得分:0)

有一些方法可以在身份验证时获取电子邮件地址。 见https://developers.google.com/gmail/imap_extensions

服务器将发送类似于:

的内容
  

a001 OK用户名@gmail.com认证(成功)

随意向mailcore2添加功能请求以获取电子邮件地址。 但是,需要注意的是它很容易破裂。