I have a MFMailComposeViewController setup and presented as such:
class MyViewController: UIViewController {
// MARK: - Properties
let composeViewController = MFMailComposeViewController()
// MARK: - Actions
@IBAction func didTapSendInEmailButton() {
composeViewController.mailComposeDelegate = self
composeViewController.setToRecipients([Constants.contactRecipientEmail])
composeViewController.setSubject(Constants.contactSubject)
composeViewController.setMessageBody(Constans.body, isHTML: false)
present(composeViewController, animated: true, completion: nil)
}
}
// MARK: - MFMailComposeViewControllerDelegate
extension MyViewController: MFMailComposeViewControllerDelegate {
private func mailComposeController(_ controller: MFMailComposeViewController,
didFinishWith result: MFMailComposeResult,
error: Error?) {
switch result {
case .sent:
print("Email sent")
case .saved:
print("Draft saved")
case .cancelled:
print("Email cancelled")
case .failed:
print("Email failed")
}
controller.dismiss(animated: true, completion: nil)
}
}
I'm having two issues:
-
After pressing "Send" on the composer, the email does NOT get sent.
-
Neither is the MFMailComposeViewControllerDelegate invoked.
What may I be missing?
from MFMailComposeViewController not sending email or invoking delegate (MFMailComposeViewControllerDelegate)
No comments:
Post a Comment