Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> IOS

ฉันจะส่งอีเมลจากแอปพลิเคชัน iPhone ได้อย่างไร


ในการส่งอีเมลจากแอปพลิเคชันของเรา เราจำเป็นต้องใช้ URL Schemes และการดำเนินการบางอย่างเกี่ยวกับเหตุการณ์ที่จะส่งอีเมล เราไม่สามารถส่งอีเมลจากแอปพลิเคชันได้จริงๆ เว้นแต่จะเป็นแอปพลิเคชันการส่งจดหมายและเราใช้กรอบงาน MessageUI ของ iOS แต่เราสามารถเปิดแอปอีเมลบางแอปจากแอปพลิเคชันของเราด้วยอีเมลและหัวเรื่องที่กรอกไว้ล่วงหน้าได้

เราจะเห็นวิธีการทั้งสองวิธีนี้

มาดูกันว่าเราจะเปิดแอป MAIL ของ iOS ได้อย่างไรพร้อมตัวอย่าง

  • สร้างโครงการและบนตัวควบคุมมุมมองแรก

  • เพิ่มปุ่มและเปลี่ยนข้อความเพื่อเปิด "เปิดอีเมล" สร้างการดำเนินการในคลาส 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 - การใช้ MFMailCompose ของ 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)
}

ฟังก์ชันนี้สามารถเรียกได้ภายในเนื้อหาของปุ่ม "open MF mail" ที่ดำเนินการคล้ายกับวิธีที่หนึ่ง และให้ผลลัพธ์ดังต่อไปนี้

หมายเหตุ - แอปเหล่านี้ไม่สามารถเรียกใช้บนโปรแกรมจำลองได้ เนื่องจากโปรแกรมจำลองอีเมลไม่รองรับและคุณจำเป็นต้องมีอุปกรณ์จริง