ইমেলে সংযুক্তিগুলি কীভাবে পাঠাতে হয় তা জানা অত্যন্ত গুরুত্বপূর্ণ কারণ বেশিরভাগ অ্যাপ্লিকেশনে ভাগ করার বৈশিষ্ট্য রয়েছে৷ তাই হ্যান্ডস-অন অভিজ্ঞতা গুরুত্বপূর্ণ।
এই পোস্টে, আমরা দেখব কিভাবে সুইফট ব্যবহার করে মেইলে একটি সংযুক্তি পাঠাতে হয়।
তো, চলুন শুরু করা যাক।
এর জন্য, আমরা MFMailComposeViewController ব্যবহার করব, যা একটি আদর্শ ভিউ কন্ট্রোলার, যার ইন্টারফেস ব্যবহারকারীকে ইমেল বার্তা পরিচালনা, সম্পাদনা এবং পাঠাতে দেয়৷
আপনি এখানে এটি সম্পর্কে আরও পড়তে পারেন https://developer.apple.com/documentation/messageui/mfmailcomposeviewcontroller
এছাড়াও আমরা MFMailComposeResult থেকে ফলাফল পরিচালনা করতে MFMailComposeViewControllerDelegate ব্যবহার করব৷
আপনি এটি সম্পর্কে এখানে পড়তে পারেন https://developer.apple.com/documentation/messageui/mfmailcomposeviewcontrollerdelegate
বোঝার জন্য আমরা একটি নমুনা অ্যাপ্লিকেশন তৈরি করব,
ধাপ 1 − Xcode খুলুন → একক দৃশ্য অ্যাপ্লিকেশন → এটির নাম দিন ইমেল সংযুক্তি
ধাপ 2 − Main.storyboard খুলুন এবং একটি বোতামের নাম যোগ করুন যা নীচে দেখানো হিসাবে মেল পাঠায়,
ধাপ 3 - @IBAction তৈরি করুন এবং নিচের মতো এটির নাম দিন btnSendMail
@IBAction func btnSendMail(_ প্রেরক:যেকোনো) { }
ধাপ 4 - ViewController.swift-এ, MessageUI আমদানি করুন
MessageUI আমদানি করুন
ধাপ 5 - MFMailComposeViewControllerDelegate এ ক্লাস নিশ্চিত করুন
শ্রেণীর ভিউ কন্ট্রোলার:UIViewController, MFMailComposeViewControllerDelegate
ধাপ 6 - প্রকল্পে সংযুক্তি ফাইল যোগ করুন,
ধাপ 7 - btnSendMail-এ নিচে ফাংশন লিখুন,
@IBAction func btnSendMail(_ প্রেরক:যেকোনও) { যদি MFMailComposeViewController.canSendMail() { মেইল =MFMailComposeViewController() mail.setToRecipients(["[email protected]"]) mail.setSubject("INGGRE) .setMessageBody("টিউটোরিয়াল পয়েন্টে স্বাগতম!", isHTML:true) mail.mailComposeDelegate =self //add attachment if let filePath =Bundle.main.path(forResource:"sampleData", ofType:"json") { if let data =NSData(contentsOfFile:filePath) { mail.addAttachmentData(ডেটা হিসাবে ডেটা, mimeType:"application/json" , fileName:"sampleData.json") } } present(mail, animated:true) } অন্যথা { print("ইমেল যাবে না পাঠানো হবে") }}
এবং আপনি শেষ!!
কিন্তু আমাদের অন্যান্য শর্তগুলিও পরিচালনা করতে হবে, যেমন একটি বার্তা পাঠানো, বাতিল বা ব্যর্থ। শুধুমাত্র এই জন্য আমরা উপরের প্রোটোকল মেনে চলেছি,
আসুন প্রতিনিধি পদ্ধতি প্রয়োগ করি,
func mailComposeController(_ controller:MFMailComposeViewController, didFinishWith result:MFMailComposeResult, error:Error?) { if let _ =error { self.dismiss(animated:true, completion:nil) }। প্রিন্ট কেস (প্রিন্ট কেস) সুইচ করুন "বাতিল") ব্রেক কেস .প্রেরিত:প্রিন্ট("মেল সফলভাবে পাঠানো হয়েছে") ব্রেক কেস .ফেলড:প্রিন্ট ("মেল পাঠানো ব্যর্থ হয়েছে") ব্রেক ডিফল্ট:break } controller.dismiss(animated:true, completion:nil)}পূর্বে>এবং আপনি শেষ!!
একটি বাস্তব ডিভাইসে প্রোগ্রাম চালান,
সম্পূর্ণ কোড
ইমপোর্ট করুন UIKitimport MessageUIclass ViewController:UIViewController, MFMailComposeViewControllerDelegate { override func viewDidLoad() { } @IBAction func btnSendMail(_ sender:Any) { if MFMailComposeSeter(_ sender:Any) { if MFMailComposeSet.ControlControl @gmail.com"]) mail.setSubject("GREETING") mail.setMessageBody("টিউটোরিয়াল পয়েন্টে স্বাগতম!", isHTML:true) mail.mailComposeDelegate =self if let filePath =Bundle.main.path(forResource:"sampleData ", ofType:"json") { if let data =NSData(contentsOfFile:filePath) { mail.addAttachmentData(ডেটা হিসাবে ডেটা, mimeType:"application/json" , fileName:"sampleData.json") } } উপস্থিত (মেইল, animated:true) } else { print("ইমেল পাঠানো যাবে না") } } func mailComposeController(_ controller:MFMailComposeViewController, didFinishWith ফলাফল:MFMailComposeResu lt, error:Error?) { if let _ =error { self.dismiss(animated:true, completion:nil) } সুইচ ফলাফল { case .cancelled:print("Cancelled") break case .sent:print("মেইল পাঠানো হয়েছে সফলভাবে") ব্রেক কেস .ফেলড:প্রিন্ট("মেল পাঠানো ব্যর্থ হয়েছে") ব্রেক ডিফল্ট:break } controller. dismisss(animated:true, completion:nil) }}