2010-05-12 72 views
0

我正在使用iPhone应用内电子邮件功能通过我的应用发送电子邮件。 电子邮件没问题,但我很难找出如何检索电子邮件发送到的电子邮件地址。 这里是我的代码:iPhone应用内电子邮件

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; 
picker.mailComposeDelegate = self; 
[picker setSubject:@"Test"]; 

// Fill out the email body text 
NSString *emailBody = [NSString stringWithFormat:@"This is a test data"]; 

[picker setMessageBody:emailBody isHTML:YES]; 

picker.navigationBar.barStyle = UIBarStyleBlack; 

[self presentModalViewController:picker animated:YES]; 
[picker release]; 

有没有办法从这个函数retrive这些电子邮件地址:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error 

谢谢!

回答

0

不,你不能。这是私人信息。

您可以制作自己的电子邮件输入表格,然后使用- (void)setToRecipients:(NSArray*)toRecipients预填充到MFMailComposeViewController的字段。但是您不能确定用户一旦显示MFMailComposeViewController就不会更改地址。

这个answer到一个类似的问题建议使用自定义IMAP库像Mailcore而不是内置MFMailComposeViewController

+0

好点。这确实是苹果可能希望保护的私人信息。所以,我想我必须通过我的后端代码来处理电子邮件的发送。唯一的问题是从现有的联系人中获取电子邮件。 Mailcore似乎是一个很好的选择...我会检查出来。 恩,非常感谢! – user315603 2010-05-13 15:51:34

1

通过MFMailComposeViewController文档查看我只看到设置收件人的方法。

我认为这可能是苹果为防止滥用个人信息而采取的一种非常谨慎的行动,就像Apple不允许开发人员以编程方式获取用户的手机号码一样。

0

我不认为这是可能的。 MFMailComposeViewController中除了委托之外没有公共属性,它似乎只有setter方法和getter方法。

相关问题