Computer >> Máy Tính >  >> Lập trình >> IOS

Làm cách nào để gửi thư từ ứng dụng iPhone?


Để gửi email từ ứng dụng của chúng tôi, chúng tôi sẽ cần sử dụng Lược đồ URL và một số thao tác đối với trường hợp email sẽ được gửi. Chúng tôi thực sự không thể gửi email từ ứng dụng, trừ khi đó là một ứng dụng gửi thư và chúng tôi sử dụng khung MessageUI của iOS, nhưng chúng tôi có thể mở một số ứng dụng email từ ứng dụng của mình với chủ đề và email được điền sẵn.

Chúng ta sẽ xem cả hai cách để thực hiện việc này.

Hãy xem cách chúng ta có thể mở ứng dụng MAIL của iOS bằng một ví dụ.

  • Tạo một dự án và trên bộ điều khiển chế độ xem đầu tiên của nó

  • thêm một nút và thay đổi văn bản của nó để mở "mở e-mail", tạo hành động của nó trong lớp ViewController.swift

  • Thêm một nút khác gọi nó là "mở thư MF" và tạo hành động của nó nữa.

Phương pháp 1 - Sử dụng Lược đồ URL và ứng dụng gửi thư khác

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)
      }
   }
}

Chức năng này có thể được gọi để gửi email đến một số id email, hãy gọi hàm này bên trong phần thân của nút First "open e-mail", dưới đây là kết quả

Phương pháp 2 - Sử dụng MFMailCompose of MessageUI Framework

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)
}

Hàm này có thể được gọi bên trong nội dung của nút "mở thư MF" tương tự như phương pháp một và nó tạo ra kết quả sau.

Lưu ý - Không thể chạy các ứng dụng này trên trình mô phỏng vì thư không được hỗ trợ trong trình mô phỏng và bạn cần một thiết bị thực tế.