通过邮件core2框架中的电子邮件地址获取主机服务器名称

时间:2014-07-15 07:04:44

标签: email mailcore2

我想通过电子邮件地址的名称知道默认主机名....

我在课堂上找到了一个方法" MCONetService.h" ....

hostnameWithEmail:

参考链接.. http://libmailcore.com/mailcore2/api/Classes/MCONetService.html

...但我的问题是我无法找到使用此方法的正确方法,因为它是一个需要" MCONetService"的实例方法。 class对象调用该方法,并且我得到null因为在使用之前这个对象似乎需要一些值...

我的代码......

MCONetService *netService=[[MCONetService alloc]init];        
[netService hostnameWithEmail:@"email@gmail.com"];

这不是一种好的编码方式,但是没有找到任何其他方法来尝试这种方法...

任何帮助都会很明显......

1 个答案:

答案 0 :(得分:1)

以下是如何操作:

首先,确保在应用的资源中包含providers.json。 以下是如何获取与给定电子邮件地址相关的IMAP服务器。

NSString * email = @"email@gmail.com";
MCOMailProvider * provider = [[MCOMailProvidersManager sharedManager]
    providerForEmail:email];
NSString * hostname = nil;
if ([[provider imapServices] count] > 0) {
  MCONetService * service = [[provider imapServices] objectAtIndex:0];
  hostname = [service hostnameWithEmail:email];
}
if (hostname == nil) {
  NSLog(@"no IMAP server found");
}
else {
  NSLog(@"IMAP server: %@", hostname);
}