Swift पर ईमेल भेजना: SMTP और MailKit के लिए पूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Swift (iOS/macOS) पर ईमेल भेजना: पूर्ण गाइड

ईमेल भेजना आधुनिक मोबाइल और डेस्कटॉप अनुप्रयोगों के प्रमुख कार्यों में से एक है। Apple प्लेटफ़ॉर्म (iOS, macOS, watchOS, tvOS) पर, Swift डेवलपर्स कई दृष्टिकोणों का उपयोग कर सकते हैं: बिल्ट-इन MailComposeViewController से लेकर शक्तिशाली तृतीय-पक्ष लाइब्रेरी तक जो सीधे SMTP सर्वर के साथ काम करती हैं। इस लेख में, हम Swift पर ईमेल भेजने के मुख्य तरीकों पर चर्चा करेंगे, जिसमें व्यावहारिक कोड उदाहरण, SMTP सेटअप और अटैचमेंट के साथ काम करना शामिल है।



एप्लिकेशन में ईमेल भेजने की आवश्यकता क्यों है?

ईमेल कार्यक्षमता विभिन्न परिदृश्यों में उपयोगी हो सकती है:

  • पंजीकरण और खाता सत्यापन
  • त्रुटि रिपोर्ट और फीडबैक भेजना
  • सूचनाओं और समाचारों का प्रसारण
  • रसीदें, चालान और दस्तावेज़ भेजना
  • पासवर्ड पुनर्प्राप्ति


Swift पर ईमेल भेजने के तरीके

दो मुख्य दृष्टिकोण हैं:

  • बिल्ट-इन Mail Compose (MFMailComposeViewController) — मानक iOS/macOS मेल ऐप का उपयोग करता है। सरल, लेकिन इसके लिए आवश्यक है कि उपयोगकर्ता मेल क्लाइंट में लॉग इन हो।
  • SMTP के माध्यम से सीधा भेजना — उपयोगकर्ता की भागीदारी के बिना, सीधे सर्वर से ईमेल भेजता है। स्वचालित सूचनाओं के लिए आदर्श।


विधि 1: MFMailComposeViewController का उपयोग करना

यह विधि तब उपयुक्त होती है जब आप उपयोगकर्ता को अपने व्यक्तिगत मेलबॉक्स का उपयोग करके एप्लिकेशन से ईमेल भेजने की अनुमति देना चाहते हैं।

import UIKitimport MessageUI

class ViewController: UIViewController, MFMailComposeViewControllerDelegate { @IBAction func sendEmailTapped(_ sender: UIButton) { guard MFMailComposeViewController.canSendMail() else { print("मेल क्लाइंट कॉन्फ़िगर नहीं किया गया है") return } let mailComposer = MFMailComposeViewController() mailComposer.mailComposeDelegate = self mailComposer.setToRecipients(["support@example.com"]) mailComposer.setSubject("एप्लिकेशन से फीडबैक") mailComposer.setMessageBody("नमस्ते! मेरा एक प्रश्न है...", isHTML: false) // अटैचमेंट जोड़ना if let fileData = "उदाहरण पाठ".data(using: .utf8) { mailComposer.addAttachmentData(fileData, mimeType: "text/plain", fileName: "file.txt") } present(mailComposer, animated: true, completion: nil) } // MARK: - MFMailComposeViewControllerDelegate func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) { controller.dismiss(animated: true, completion: nil) switch result { case .sent: print("ईमेल भेज दिया गया") case .saved: print("ईमेल सहेज लिया गया") case .cancelled: print("भेजना रद्द कर दिया गया") case .failed: print("भेजने में त्रुटि: \\(error?.localizedDescription ?? "")") @unknown default: break } }}


विधि 2: SMTP के माध्यम से सीधा भेजना (SwiftSMTP)

उपयोगकर्ता की भागीदारी के बिना स्वचालित ईमेल भेजने के लिए SwiftSMTP लाइब्रेरी का उपयोग किया जाता है। यह किसी भी SMTP सर्वर (Gmail, Yandex, Mail.ru, आपका अपना सर्वर) से कनेक्ट होने की अनुमति देता है।



Swift Package Manager के माध्यम से इंस्टॉलेशन:

// Package.swift में या Xcode के माध्यम से: File → Add Packagesdependencies: [    .package(url: "https://github.com/Kitura/Swift-SMTP.git", from: "2.0.0")]


SMTP के माध्यम से ईमेल भेजने का उदाहरण:

import SwiftSMTP

func sendEmail() { let smtp = SMTP( hostname: "smtp.gmail.com", // SMTP सर्वर

अनुशंसाएँ