我正在嘗試檢查電子郵件是否已發送並顯示允許用戶知道的警報。
我嘗試了下面的代理方法,但是如果用戶也取消,可惜會顯示警告消息。任何幫助將受到讚賞和獎勵。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");
}
}
你必須看看結果。只有在首先查詢「結果」值後才能查看「錯誤」參數。 – rmaddy
順便說一句 - 即使電子郵件由於某些問題而停留在發件箱中,「結果」將會是「MFMailComposeResultSent」。沒有辦法知道電子郵件是否真的被髮送出去。 – rmaddy
我所見過的大多數人做的是創建一個單獨的數據庫,通過記錄所有將被髮送的郵件然後讓Web服務器發送郵件來驗證郵件是否已發出。但是這種系統會因情況而異。這也取決於誰會使用你的應用程序,即它是針對公衆還是供你的公司使用。 – vnchopra