Я пытаюсь проверить, было ли отправлено электронное сообщение и отображать предупреждение, позволяющее пользователю узнать.
Я попробовал метод делегата ниже, но, к сожалению, будет отображаться предупреждающее сообщение, если пользователь также отменяет. Любая помощь будет оценена и вознаграждена.iOS: Как определить, успешно ли отправлено письмо?
- (void)mailComposeController:(MFMailComposeViewController*)controller
didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error{
if (error) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:
[NSString stringWithFormat:@"Error %@", [error description]] delegate:self
cancelButtonTitle:@"Dismiss" otherButtonTitles:nil];
[alert show];
}
NSLog(@"email sent");
}
}
Вы должны посмотреть на «результат». Параметр 'error' должен быть просмотрен только после того, как вы сначала оцените значение' result'. – rmaddy
BTW - 'result' будет' MFMailComposeResultSent', даже если сообщение электронной почты застряло в папке «Исходящие» из-за некоторой проблемы. Невозможно узнать, действительно ли отправлено электронное письмо или нет. – rmaddy
То, что я видел, большинство людей делают, это создать отдельную базу данных, которая будет проверять, была ли отправлена почта, путем регистрации всех отправляемых писем, а затем отправки веб-сервера по почте. Но такая система может варьироваться от случая к случаю. Это также зависит от того, кто будет использовать ваше приложение, то есть будь то для широкой публики или для использования вашим корпусом. – vnchopra