开发者

iPhone in-App email

I am using iPhone in-App email feature to send email thru my app. The email goes fine but I am having hard ti开发者_如何学运维me trying to figure out how to retrive email addresses to which the email was sent. Here is my code:

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];

Is there any way to retrive those email addresses from this function:

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

Thanks!


Looking through the MFMailComposeViewController documentation I see only methods to set the recipients.

I think that this is probably a very deliberate move by Apple to prevent the misuse of personal information, much in the same way that Apple does not allow a developer to fetch a user's mobile number programmatically.


No you cannot. This is private information.

You could make your own e-mail entry form and then pre-fill to field of the MFMailComposeViewController using - (void)setToRecipients:(NSArray*)toRecipients. But you cannot sure that the user doesn't change the address once MFMailComposeViewController is shown.

This answer to a similar question suggests using custom IMAP libary like Mailcore instead of built in MFMailComposeViewController.


I don't think that's possible. There are no public properties in a MFMailComposeViewController besides the delegate, and it only seems to have setter methods and no getters.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜