जावा पर ईमेल भेजना: JavaMail और Simple Java Mail लाइब्रेरीज़

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

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

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

जावा पर ईमेल भेजना: लाइब्रेरीज़ का अवलोकन और कोड उदाहरण

\n\n

ईमेल भेजना कॉर्पोरेट और वेब एप्लिकेशन में एक बुनियादी कार्य है। Java इकोसिस्टम में SMTP प्रोटोकॉल के साथ काम करने के लिए कई सिद्ध टूल मौजूद हैं। इस लेख में, हम दो मुख्य लाइब्रेरीज़ पर चर्चा करेंगे: मानक JavaMail (Jakarta Mail) और अधिक आधुनिक Simple Java Mail। आप सीखेंगे कि SMTP सर्वर से कनेक्शन कैसे सेट करें, एक साधारण ईमेल कैसे भेजें, HTML मार्कअप और अटैचमेंट कैसे जोड़ें।

\n\n

1. Jakarta Mail (पूर्व में JavaMail API)

\n\n

Jakarta Mail (पूर्व नाम JavaMail API) Java में ईमेल के साथ काम करने के लिए आधिकारिक विनिर्देश है। यह Jakarta EE का हिस्सा है और किसी भी Java प्रोजेक्ट में उपयोग किया जा सकता है। SMTP सर्वर से कनेक्ट करने के लिए pom.xml (Maven) या build.gradle (Gradle) में डिपेंडेंसी जोड़ना आवश्यक है।

\n\n

डिपेंडेंसी जोड़ना (Maven)

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

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

\n
import javax.mail.*;\nimport javax.mail.internet.*;\nimport java.util.Properties;\n\npublic class EmailSender {\n    public static void main(String[] args) {\n        final String username = "your-email@gmail.com";\n        final String password = "your-app-password";\n\n        Properties props = new Properties();\n        props.put("mail.smtp.auth", "true");\n        props.put("mail.smtp.starttls.enable", "true");\n        props.put("mail.smtp.host", "smtp.gmail.com");\n        props.put("mail.smtp.port", "587");\n\n        Session session = Session.getInstance(props,\n            new Authenticator() {\n                @Override\n                protected PasswordAuthentication getPasswordAuthentication() {\n                    return new PasswordAuthentication(username, password);\n                }\n            });\n\n        try {\n            Message message = new MimeMessage(session);\n            message.setFrom(new InternetAddress(username));\n            message.setRecipients(Message.RecipientType.TO,\n                InternetAddress.parse("recipient@example.com"));\n            message.setSubject("जावा से परीक्षण ईमेल");\n            message.setText("नमस्ते! यह ईमेल JavaMail API का उपयोग करके भेजा गया है।");\n\n            Transport.send(message);\n            System.out.println("ईमेल सफलतापूर्वक भेजा गया!");\n        } catch (MessagingException e) {\n            e.printStackTrace();\n        }\n    }\n}
\n\n
    \n
  • Properties — SMTP सेटिंग्स: होस्ट, पोर्ट, प्रमाणीकरण, TLS।
  • \n
  • Session — सर्वर के साथ सत्र, प्रमाणीकरणकर्ता के साथ बनाया गया।
  • \n
  • MimeMessage — ईमेल ऑब्जेक्ट, जिसमें प्रेषक, प्राप्तकर्ता, विषय और बॉडी सेट की जाती है।
  • \n
  • Transport.send() — SMTP के माध्यम से ईमेल भेजना।
  • \n
\n\n

अटैचमेंट के साथ HTML ईमेल भेजना

\n
import javax.mail.*;\nimport javax.mail.internet.*;\nimport javax.activation.*;\n\npublic class HtmlEmailWithAttachment {\n    public static void main(String[] args) throws Exception {\n        Properties props = new Properties();\n        props.put("mail.smtp.auth", "true");\n        props.put("mail.smtp.starttls.enable", "true");\n        props.put("mail.smtp.host", "smtp.gmail.com");\n        props.put("mail.smtp.port", "587");\n\n        Session session = Session.getInstance(props, new Authenticator() {\n            @Override\n            protected PasswordAuthentication getPasswordAuthentication() {\n                return new PasswordAuthentication("your-email@gmail.com", "your-password");\n            }\n        });\n\n        MimeMessage message = new MimeMessage(session);\n        message.setFrom(new InternetAddress("your-                    

अनुशंसाएँ