如何从iPhone应用程序发送邮件?

要从我们的应用程序发送电子邮件,我们将需要使用URL方案以及针对将要发送电子邮件的事件采取的一些措施。除非它是一个邮寄应用程序,并且我们使用iOS的MessageUI框架,否则我们实际上无法从该应用程序发送电子邮件,但是我们可以使用预填充的电子邮件和主题从应用程序中打开一些电子邮件应用程序。

我们将看到两种方法。

让我们通过一个示例看看如何打开iOS的MAIL应用。

  • 创建一个项目并在其第一个视图控制器上

  • 添加一个按钮并更改其文本以打开“打开电子邮件”,在ViewController.swift类中创建其操作

  • 添加另一个按钮,称为“打开MF邮件”,并创建它的操作。

方法1-使用URL Scheme和其他邮件应用

func sendEmail(email:String) {
   if let url = URL(string: "mailto:\(email)") {
      if #available(iOS 10.0, *) {
         UIApplication.shared.open(url)
      } else {
         UIApplication.shared.openURL(url)
      }
   }
}

可以调用此函数将电子邮件发送到某些电子邮件ID,在“打开电子邮件”的第一个按钮的正文中调用此函数,以下是结果

方法2-使用MessageUI框架的MFMailCompose

func sendMFmail(email: String) {
   let mailVC = MFMailComposeViewController()   mailVC.mailComposeDelegate = self
   mailVC.setToRecipients([email])
   mailVC.setSubject("Testing sending email")
   mailVC.setMessageBody("Test Body of email", isHTML: false)
   present(mailVC, animated: true, completion: nil)
}

类似于方法一,可以在“打开MF邮件”按钮的动作内部调用此函数,并产生以下结果。

注意 -这些应用程序无法在模拟器上运行,因为模拟器不支持邮件,并且您需要实际的设备。