我想在按下按钮的应用程序中启动电子邮件应用程序。但是当我按下按钮时没有发生任何事情!
代码:
- (IBAction) startMail
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto:emailAdress?subject=testMail&body=its test mail."]];
}
代码中有什么问题吗?也可以在IB中正确设置按钮。
谢谢..
答案 0 :(得分:1)
如果您想在应用程序中撰写电子邮件,您应该查看MFMailComposeViewController reference,而不是调用mailto:URL方案。
答案 1 :(得分:1)
使用mailto URL无法在模拟器中运行,因为模拟器上未安装mail.app。它确实在设备上工作。
答案 2 :(得分:1)
您可以使用“MFMailComposeViewController”从您的应用程序发送邮件。
示例代码 -
MFMailComposeViewController *picker;
picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
NSString *objSubject = [[NSString alloc] init];<br/>
NSString *emailBody = [[NSString alloc] init];
[picker setSubject:objSubject];
[picker setMessageBody:emailBody isHTML:YES];
[self presentModalViewController:picker animated:YES];
您必须使用以下代理检查已发送邮件的状态
**-(void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
}**
享受
答案 3 :(得分:0)
试试这个:
NSString *mailString = [NSString stringWithFormat:@"mailto:?to=%@&subject=%@&body=%@",
[to stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding],
[subject stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding],
[body stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:mailString]];
此处,主题和正文是NSString变量
答案 4 :(得分:0)
检查一下,这是一个比将用户从应用程序中删除更好的解决方案;
How can I send mail from an iPhone application
答案 5 :(得分:0)
NSString *url = [NSString stringWithString: @"mailto:foo@example.com?cc=bar@example.com&subject=Greetings%20from%20Cupertino!&body=Wish%20you%20were%20here!"];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]];