JavaMail (Jakarta Mail) Java: पूरी गाइड उदाहरण सहित

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

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

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

JavaMail (Jakarta Mail) Java: पूरी गाइड उदाहरण सहित

JavaMail (अब Jakarta Mail) Java में ईमेल भेजने, प्राप्त करने और प्रोसेस करने के लिए एक स्टैंडर्ड लाइब्रेरी है। यह SMTP, POP3 और IMAP प्रोटोकॉल के साथ काम करने के लिए एक शक्तिशाली और लचीला API प्रदान करती है, जिससे डेवलपर्स अपने एप्लिकेशन में ईमेल फीचर्स को आसानी से जोड़ सकते हैं। यह लाइब्रेरी Jakarta EE (पहले Java EE) प्लेटफॉर्म का हिस्सा है और Eclipse Foundation द्वारा सक्रिय रूप से सपोर्ट की जाती है।

JavaMail की आवश्यकता क्यों है? आज के डेवलपमेंट में, लगभग हर एंटरप्राइज एप्लिकेशन को नोटिफिकेशन, रजिस्ट्रेशन कन्फर्मेशन, पासवर्ड रीसेट या रिपोर्ट भेजने की आवश्यकता होती है। JavaMail आपको प्रोग्रामेटिक रूप से ऐसा करने की अनुमति देता है, बिना किसी थर्ड-पार्टी सर्विस या मैन्युअल ऑपरेशन के। यह लाइब्रेरी MIME-टाइप, अटैचमेंट, HTML ईमेल, मल्टीथ्रेडेड सेंडिंग और एन्क्रिप्शन (SSL/TLS) को सपोर्ट करती है।

मुख्य विशेषताओं में शामिल हैं: SMTP सर्वर (Gmail, Yandex, या आपका अपना सर्वर) के माध्यम से ईमेल भेजना, POP3/IMAP के जरिए ईमेल पढ़ना, अटैचमेंट (इमेज, PDF, आर्काइव) के साथ काम करना, मल्टीपार्ट मैसेज को सपोर्ट करना, फ्लैग मैनेजमेंट (पढ़ा गया, डिलीट किया गया) और Properties के जरिए कनेक्शन का पूरा कस्टमाइजेशन।

इंस्टॉलेशन

JavaMail (Jakarta Mail) Maven Central के माध्यम से उपलब्ध है। इसे उपयोग करने के लिए अपने pom.xml (Maven) या build.gradle (Gradle) में डिपेंडेंसी जोड़ें।

Maven

<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>javax.mail</artifactId>
    <version>1.6.2</version>
</dependency>

Jakarta Mail (नया वर्जन, Jakarta EE 9 से शुरू) के लिए:

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

Gradle

implementation 'com.sun.mail:javax.mail:1.6.2'
// या Jakarta Mail के लिए:
implementation 'com.sun.mail:jakarta.mail:2.0.1'

अगर आप Java 9+ और मॉड्यूलर सिस्टम का उपयोग कर रहे हैं, तो module-info.java में यह जोड़ें:

requires java.mail;

त्वरित शुरुआत — न्यूनतम कार्यशील उदाहरण

Gmail SMTP सर्वर के माध्यम से एक साधारण टेक्स्ट ईमेल भेजना ("कम सुरक्षित ऐप्स एक्सेस" चालू करना या ऐप पासवर्ड का उपयोग करना आवश्यक है)।

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

public class QuickStart {
    public static void main(String[] args) {
        // SMTP सेटिंग्स
        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");

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

        try {
            // ईमेल बनाना
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("your-email@gmail.com"));
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("recipient@example.com"));
            message.setSubject("Java से परीक्षण ईमेल");
            message.setText("नमस्ते! यह एक परीक्षण संदेश है।");

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

        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
}

मुख्य तरीके/फंक्शन/क्लास

1. Session.getInstance(Properties, Authenti

अनुशंसाएँ