जावा पर ईमेल भेजना: JavaMail और Jakarta Mail के लिए संपूर्ण गाइड

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

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

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

Jakarta Mail (JavaMail) के साथ जावा पर ईमेल भेजना



ईमेल भेजना जावा पर कॉर्पोरेट अनुप्रयोगों में सबसे अधिक मांग वाले कार्यों में से एक है: उपयोगकर्ता पंजीकरण, सूचनाएं, पासवर्ड रीसेट और मार्केटिंग अभियान। लंबे समय तक, JavaMail लाइब्रेरी डी-फैक्टो मानक थी, लेकिन Java EE के Eclipse Foundation में स्थानांतरित होने के बाद, इसका नाम बदलकर Jakarta Mail कर दिया गया। इस गाइड में, हम विस्तार से समझेंगे कि जावा पर ईमेल भेजने के लिए Jakarta Mail को कैसे सेट अप और उपयोग करें।



Jakarta Mail क्या है?

Jakarta Mail (पूर्व में JavaMail) जावा अनुप्रयोगों में ईमेल भेजने, प्राप्त करने और प्रोसेस करने के लिए एक API है। यह लाइब्रेरी SMTP, POP3 और IMAP प्रोटोकॉल के साथ-साथ MIME मानक का समर्थन करती है, जिससे आप सरल टेक्स्ट ईमेल के साथ-साथ अटैचमेंट, HTML मार्कअप और इमेज वाले संदेश भी भेज सकते हैं।



निर्भरताओं की स्थापना और कनेक्शन

Jakarta Mail के साथ काम करने के लिए, आपको अपने प्रोजेक्ट में निर्भरता जोड़नी होगी। यदि आप Maven का उपयोग कर रहे हैं, तो pom.xml में जोड़ें:

<dependency>    <groupId>com.sun.mail</groupId>    <artifactId>jakarta.mail</artifactId>    <version>2.0.1</version></dependency>


Gradle के लिए:

implementation 'com.sun.mail:jakarta.mail:2.0.1'


महत्वपूर्ण: यदि आप Java 8 या उससे पुराने संस्करण का उपयोग कर रहे हैं, तो सुनिश्चित करें कि Jakarta Mail का संस्करण संगत है — Java 8 के लिए संस्करण 1.6.x उपयुक्त होगा (उदाहरण के लिए, javax.mail:javax.mail-api:1.6.2)।



जावा पर बुनियादी ईमेल भेजना

आइए सबसे सरल उदाहरण देखें — Gmail SMTP सर्वर के माध्यम से एक टेक्स्ट ईमेल भेजना। इसके लिए आवश्यकता होगी:

  • Gmail खाता (या कोई अन्य ईमेल सेवा)
  • ऐप पासवर्ड (यदि दो-कारक प्रमाणीकरण सक्षम है)
  • कम सुरक्षित ऐप्स तक पहुंच की अनुमति (यदि आवश्यक हो)


भेजने का कोड:

import jakarta.mail.*;import jakarta.mail.internet.*;import java.util.Properties;

public class EmailSender { public static void main(String[] args) { // 1. कनेक्शन गुण सेट करना Properties props = new Properties(); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.port", "587"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true");

// 2. प्रमाणीकरण Session session = Session.getInstance(props, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("your-email@gmail.com", "your-app-password"); } });

try { // 3. ईमेल बनाना Message message = new MimeMessage(session); message.setFrom(new InternetAddress("from-email@gmail.com")); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("recipient@example.com")); message.setSubject("जावा से परीक्षण ईमेल"); message.setText("नमस्ते! यह ईमेल Jakarta Mail के साथ भेजा गया है।");

// 4. भेजना Transport.send(message); System.out.println("ईमेल सफलतापूर्वक भेजा गया!"); } catch (MessagingException e) { e.printStackTrace(); } }}


HTML ईमेल और अटैचमेंट वाले ईमेल भेजना

अक्सर फ़ॉर्मेटिंग (HTML) के साथ ईमेल भेजने या फ़ाइल संलग्न करने की आवश्यकता होती है। इसके लिए MimeMultipart और MimeBodyPart का उपयोग किया जाता है।



HTML ईमेल

MimeBodyPart htmlPart = new MimeBodyPart();htmlPart.setContent("<h1>नमस्ते!</h1><p>यह जावा से HTML ईमेल है।</p>", "text/html; charset=utf-8");

Multipart mu

अनुशंसाएँ