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


要从我们的应用程序发送电子邮件,我们需要使用 URL Schemes 和一些事件操作,通过这些操作来发送电子邮件。我们实际上无法从应用程序发送电子邮件,除非它是一个邮件应用程序并且我们使用 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 邮件”按钮的操作代码体中调用,类似于方法一,它会产生以下结果。

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

更新于: 2020-06-30

141 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告