Je ai essayé d'envoyer un e-mail à partir de l'application et ne fonctionne pas – Swift (iOS)

J'ai essayé 2 codes de différents sites pour envoyer un e-mail à partir de mon application iOS . Quand j'appuie sur le button Send, il appelle la méthode mailComposeController et me renvoie toujours le journal "Mail envoyé" car le paramètre résultat est toujours MFMailComposeResultSent.value , même si j'ai mon iPhone 5S en mode avion .

En outre, même lorsque j'ai une connection Internet, je ne reçois jamais l'email . Déjà vérifié SPAM et d'autres dossiers et attendu une journée entière si elle a été retardée mais jamais reçu même en essayant plusieurs fois.

Je programme avec Swift et j'utilise XCode 6.4 dans une rétine Macbook Pro à partir de la mi-2014 avec Yosemite 10.10.5.

Voici le code Swift:

import UIKit import MessageUI class ViewController: UIViewController, MFMailComposeViewControllerDelegate { override func viewDidLoad() { super.viewDidLoad() if (MFMailComposeViewController.canSendMail()) { var emailTitle = "Vea Software Feedback" var messageBody = "Vea Software! :)" var toRecipents = ["[email protected]"] var mc: MFMailComposeViewController = MFMailComposeViewController() mc.mailComposeDelegate = self mc.setSubject(emailTitle) mc.setMessageBody(messageBody, isHTML: false) mc.setToRecipients(toRecipents) self.presentViewController(mc, animated: true, completion: nil) }else { println("No email account found") } } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } // Email Delegate func mailComposeController(controller:MFMailComposeViewController, didFinishWithResult result:MFMailComposeResult, error:NSError) { switch result.value { case MFMailComposeResultCancelled.value: println("Mail cancelled") case MFMailComposeResultSaved.value: println("Mail saved") case MFMailComposeResultSent.value: println("Mail sent") case MFMailComposeResultFailed.value: println("Mail sent failure: \(error.localizedDescription)") default: break } self.dismissViewControllerAnimated(false, completion: nil) } } 

Merci beaucoup pour votre aide à l'avance.

pour moi le code suivant fonctionne parfaitement bien:

 import UIKit import MessageUI class ViewController: UIViewController, MFMailComposeViewControllerDelegate { override func viewDidLoad() { super.viewDidLoad() if MFMailComposeViewController.canSendMail() { let toRecipents = ["[email protected]"] let emailTitle = "Vea Software Feedback" let messageBody = "Vea Software! :)" let mc: MFMailComposeViewController = MFMailComposeViewController() mc.mailComposeDelegate = self mc.setToRecipients(toRecipents) mc.setSubject(emailTitle) mc.setMessageBody(messageBody, isHTML: false) presentViewController(mc, animated: true, completion: nil) } else { print("cannot send mails") } } func mailComposeController(controller: MFMailComposeViewController, didFinishWithResult result: MFMailComposeResult, error: NSError?) { switch result { case MFMailComposeResultCancelled: print("Mail cancelled") case MFMailComposeResultSaved: print("Mail saved") case MFMailComposeResultSent: print("Mail sent") case MFMailComposeResultFailed: print("Mail sent failure: \(error?.localizedDescription)") default: break } dismissViewControllerAnimated(true, completion: nil) } } 

Merci à André Slotta j'ai résolu mon problème.

Le problème était que je n'avais pas activé le "Mail" Switch dans les parameters> Mail, Contacts, Calendrier> myemailaccount.

Cela permet d'envoyer et de recevoir des e-mails à partir de l'application iOS native. Au lieu de cela, je l'ai juste activé pour les "Contacts", "Calendriers" et "Notes", et utiliser l'application Gmail iOS pour les fins de courriel dans mon iPhone.

Cela a aussi fonctionné avec mon code initial, donc ce n'était pas du tout un problème de code et tout le monde peut essayer mon code initial dans Swift (pas Swift2).

Merci encore André Slotta pour votre aide !!!