JSP का उपयोग करके ईमेल भेजने के लिए, आपके मशीन पर JavaMail API और Java Activation Framework (JAF) इंस्टॉल होना चाहिए।
- आप JavaMail का नवीनतम संस्करण (संस्करण 1.2) Java की मानक वेबसाइट से डाउनलोड कर सकते हैं।
- आप JavaBeans Activation Framework JAF का नवीनतम संस्करण (संस्करण 1.0.2) Java की मानक वेबसाइट से डाउनलोड कर सकते हैं।
इन फ़ाइलों को डाउनलोड और अनज़िप करें, नव-निर्मित शीर्ष-स्तरीय निर्देशिकाओं में। आपको दोनों एप्लिकेशन्स के लिए कई JAR फ़ाइलें मिलेंगी। आपको अपने CLASSPATH में mail.jar और activation.jar फ़ाइलें जोड़ने की आवश्यकता है।
एक साधारण ईमेल भेजें
यहां आपकी मशीन से एक साधारण ईमेल भेजने का एक उदाहरण है। यह माना जाता है कि आपका localhost इंटरनेट से जुड़ा है और ईमेल भेजने में सक्षम है। सुनिश्चित करें कि Java Email API पैकेज और JAF पैकेज से सभी JAR फ़ाइलें CLASSPATH में उपलब्ध हैं।
उदाहरण: SendEmail.jsp
<%@ page import="java.io.*,java.util.*,javax.mail.*" %>
<%@ page import="javax.mail.internet.*,javax.activation.*" %>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%
String result;
// प्राप्तकर्ता का ईमेल आईडी उल्लेख करना आवश्यक
String to = "abcd@gmail.com";
// प्रेषक का ईमेल आईडी उल्लेख करना आवश्यक
String from = "mcmohd@gmail.com";
// मान लें कि आप लोकलहोस्ट से ईमेल भेज रहे हैं
String host = "localhost";
// सिस्टम प्रॉपर्टीज ऑब्जेक्ट प्राप्त करें
Properties properties = System.getProperties();
// मेल सर्वर सेटअप करें
properties.setProperty("mail.smtp.host", host);
// डिफ़ॉल्ट Session ऑब्जेक्ट प्राप्त करें
Session mailSession = Session.getDefaultInstance(properties);
try {
// डिफ़ॉल्ट MimeMessage ऑब्जेक्ट बनाएं
MimeMessage message = new MimeMessage(mailSession);
// From: हेडर फील्ड सेट करें
message.setFrom(new InternetAddress(from));
// To: हेडर फील्ड सेट करें
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// Subject: हेडर फील्ड सेट करें
message.setSubject("This is the Subject Line!");
// वास्तविक संदेश सेट करें
message.setText("This is actual message");
// संदेश भेजें
Transport.send(message);
result = "Sent message successfully....";
} catch (MessagingException mex) {
mex.printStackTrace();
result = "Error: unable to send message....";
}
%>
<html>
<head>
<title>Send Email using JSP</title>
</head>
<body>
<center>
<h1>Send Email using JSP</h1>
</center>
<p align="center">
<%
out.println("Result: " + result + "\n");
%>
</p>
</body>
</html>
तैनाती
उपरोक्त कोड को SendEmail.jsp फ़ाइल में रखें और इस JSP को URL https://localhost:8080/SendEmail.jsp का उपयोग करके कॉल करें। यह दिए गए ईमेल आईडी abcd@gmail.com पर ईमेल भेजने में मदद करेगा। आपको निम्न प्रतिक्रिया प्राप्त होगी:
आउटपुट
Send Email using JSP Result: Sent message successfully....
उत्पादन के लिए कॉन्फ़िगरेशन
- SMTP प्रमाणीकरण:
props.put("mail.smtp.auth", "true");औरSession.getInstance(props, new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(user, pass); } }); - TLS/SSL: Gmail के लिए
props.put("mail.smtp.starttls.enable", "true");(पोर्ट 587) याmail.smtp.ssl.enable(पोर्ट 465)। - कनेक्शन पूलिंग: उच्च मात्रा के लिए
mail.smtp.connectionpoolsizeका उपयोग करें।