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

Làm cách nào để gửi tệp đính kèm trong email bằng Swift?


Để gửi email từ thiết bị iPhone bằng ứng dụng của chúng tôi, chúng tôi cần nhập khung MessageUI của iOS SDK. Sau khi nhập khuôn khổ vào ứng dụng của bạn, hãy kéo và thả một nút trên bộ điều khiển chế độ xem. Thêm hành động trống cho nút đó.

Bây giờ, hãy thêm mã sau vào bộ điều khiển chế độ xem của bạn.

funccomposeEmail(to email: String,subject: String,Body: String) {
   if( MFMailComposeViewController.canSendMail()) {
      letmailComposer = MFMailComposeViewController()
      mailComposer.mailComposeDelegate = self
      mailComposer.setToRecipients([email])
      mailComposer.setSubject(subject)
      mailComposer.setMessageBody(Body, isHTML: true)
      letpathPDF = "\(NSTemporaryDirectory())result.pdf"
      if let fileData = NSData(contentsOfFile: pathPDF) {
         mailComposer.addAttachmentData(fileData as Data, mimeType: "application/pdf", fileName: "result.pdf")
      }
      self.present(mailComposer, animated: true, completion: nil)
      } else {
         print("email is not supported")
      }
   }
   funcmailComposeController(_ didFinishWithcontroller:
   MFMailComposeViewController, didFinishWith result:
   MFMailComposeResult, error: Error?) {
      self.dismiss(animated: true, completion: nil)
   }
}

Gọi phương thức này bên trong hành động của một nút bạn vừa tạo.

@IBActionfuncactionButtonOne(_ sender: Any) {
composeEmail(to: "ashish@xy.com", subject: "Saying Hi", Body: "Hey there, hope you are doing well.")
}

Khi chúng tôi chạy đoạn mã trên và nhấn vào nút chúng tôi đã thêm, chúng tôi nhận được kết quả sau.

Làm cách nào để gửi tệp đính kèm trong email bằng Swift?

Có một số điểm cần lưu ý -

  • Đảm bảo rằng ít nhất một tài khoản được thêm vào ứng dụng thư trên iPhone của bạn.

  • Đảm bảo rằng bạn có tệp pdf được lưu trữ cục bộ trên địa chỉ mà bạn muốn tải lên.