我有一个应用需要发送电子邮件到不断的电子邮件地址。 我用这段代码发送电子邮件到现在为止:
NSString *subject = [NSString stringWithFormat:@"%@ Login Info",self.name];
NSString *body = [NSString stringWithFormat:@"Username : %@ \n Password : %@ \n E-Mail : %@ \n Sequrity Question : %@ \n Sequrity Answer : %@" ,self.user,self.password,self.email,self.seqQuestion,self.seqAnswer];
NSLog(@"%@",body);
NSString *mailString = [NSString stringWithFormat:@"mailto:?to=%@&subject=%@&body=%@",
[to stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding],
[subject stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding],
[body stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:mailString]];
问题来自于使用该应用程序未定义电子邮件地址的用户是iphone的邮件应用程序,因此他无法发送邮件。
还有其他方法可以将电子邮件发送到固定电子邮件地址吗?
答案 0 :(得分:1)
为什么不使用SDK的电子邮件/邮件系统,而不是创建mailto:url链接?
检查用户是否可以先发送电子邮件
if ([MFMailComposeViewController canSendMail])
如果返回NO,则用户无法发送电子邮件。也许会显示一条消息,提示他们可能需要配置电子邮件设置。
如果他们可以发送消息(即配置了电子邮件),则撰写并发送电子邮件
MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
[controller setSubject:@"Subject goes here"];
NSString *msgString = [NSString stringWithFormat:@"Message body"];
[controller setMessageBody:msgString isHTML:NO];
[viewController presentModalViewController:controller animated:YES];
[controller release];
如果您发现用户无法在第一个实例中发送电子邮件,您将需要编写自己的服务并连接到该服务(可能通过Web服务),或者您必须编写自己的实现电子邮件协议,用于连接到已知帐户的已知服务器。
答案 1 :(得分:0)
您可以设置一个简单的Web服务,为您发送邮件,而不是直接发送邮件;这样你就不需要依赖电话上的任何正确设置,当然除了工作的互联网连接。