जावा पर ईमेल भेजना: जकार्ता मेल (JavaMail) लाइब्रेरी

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

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

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

जावा पर ईमेल भेजना: जकार्ता मेल (JavaMail) लाइब्रेरी



जावा में ईमेल भेजना पारंपरिक रूप से एक शक्तिशाली और लचीले API - JavaMail के माध्यम से कार्यान्वित किया जाता है। Java EE के Eclipse Foundation में स्थानांतरित होने के बाद, लाइब्रेरी को एक नया नाम मिला - जकार्ता मेल (जकार्ता EE 9+ के लिए) और वर्तमान पैकेज jakarta.mail। इस गाइड में, हम देखेंगे कि SMTP सर्वर के माध्यम से ईमेल भेजने के लिए जकार्ता मेल (या क्लासिक JavaMail) को कैसे कॉन्फ़िगर और उपयोग करें।



जकार्ता मेल (JavaMail) क्या है?

जकार्ता मेल ईमेल क्लाइंट बनाने के लिए एक प्लेटफ़ॉर्म-स्वतंत्र फ्रेमवर्क है। यह SMTP, POP3 और IMAP प्रोटोकॉल के साथ काम करने के लिए एब्स्ट्रैक्शन का एक सेट प्रदान करता है। ईमेल भेजने के लिए, हम SMTP प्रोटोकॉल में रुचि रखते हैं। लाइब्रेरी समर्थन करती है:

  • सरल टेक्स्ट संदेश भेजना (text/plain)।
  • अटैचमेंट के साथ HTML ईमेल भेजना (multipart/mixed)।
  • SSL/TLS एन्क्रिप्शन (SMTPS) के साथ काम करना।
  • मेल सर्वर पर प्रमाणीकरण।


इंस्टॉलेशन और कनेक्शन

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

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

क्लासिक JavaMail (पैकेज javax.mail) के लिए, उपयोग करें:

<dependency>    <groupId>javax.mail</groupId>    <artifactId>javax.mail-api</artifactId>    <version>1.6.2</version></dependency>

एक कार्यान्वयन (आमतौर पर com.sun.mail:javax.mail:1.6.2) की भी आवश्यकता होगी।



टेक्स्ट ईमेल का बुनियादी भेजना

Gmail (या किसी अन्य) SMTP सर्वर के माध्यम से ईमेल भेजने का एक न्यूनतम उदाहरण देखें। पहले, SMTP सेटिंग्स वाला एक Properties ऑब्जेक्ट बनाएं:

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

public class EmailSender { public static void main(String[] args) { // SMTP सर्वर सेटिंग्स (उदाहरण के लिए, Gmail) 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"); // TLS

// प्रमाणीकरण String username = "your-email@gmail.com"; String password = "your-app-password"; // ऐप पासवर्ड का उपयोग करें!

// सत्र बनाना Session session = Session.getInstance(props, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } });

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

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

महत्वपूर्ण: Gmail के लिए, मुख्य पासवर्ड के बजाय ऐप पासवर्ड का उपयोग करें। अन्य सर्वरों (Yandex, Mail.ru) के लिए, पोर्ट और होस्ट सेटिंग्स भिन्न हो सकती हैं।

अनुशंसाएँ