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.
精彩评论