从iphone设置获取邮件

时间:2012-01-23 11:11:35

标签: objective-c ios email

有什么方法可以在iphone设置中创建我的个人电子邮件帐户吗?

我正在制作一个发送邮件的应用程序,并希望选择我在iPhone上发送的一个电子邮件帐户,然后选择我议程中的destianatorios。

由于

1 个答案:

答案 0 :(得分:1)

我不确定你要做什么,但是iOS提供了几种显示电子邮件合成视图控制器的方法,以及访问用户在他/她的iDevice上保存的联系人的方法。

要显示邮件撰写视图,请在项目中设置MessageUI.framework的弱链接(因为MessageUI.framework在非常旧的iOS版本上不可用,所以首选弱链接),然后执行某些操作像这样:

Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
if (mailClass != nil) {
    // MessageUI Library is available. Presenting modal mail composer view.
    MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
    mailViewController.mailComposeDelegate = self;

    [mailViewController setSubject:@"This is the subject of the email"];
    [mailViewController setMessageBody:@"This is the body of the email." isHTML:NO];
    [self presentModalViewController:mailViewController animated:YES];
    [mailViewController release];
} else {
    // MessageUI Library not available. Opening mail.app using a URL scheme.
    //  Note that this URL scheme only works on iOS3 and below, and seems to only accept a 
    //  limited number of characters. For this reason, we only attach the URL.
    NSString *mailBody = @"This is the body of the email."
    NSString *mailSchemeURL = [NSString stringWithFormat:@"mailto:?body=%@", mailBody];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[mailSchemeURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
}

如果您想访问iDevice上的联系人,请将AddressBook.framework链接到您的项目中。您可以按照Apple's programming guide中的说明访问设备上的值。例如,您可以获得所有联系人的数组,如下所示:

ABAddressBookRef addressBook = ABAddressBookCreate();
NSArray *contacts = (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);

我希望您可以使用上述的组合来实例化具有特定联系人的邮件撰写视图。希望这有帮助!