JavaMail API ব্যবহার করে আপনি সহজেই HTML কনটেন্টসহ ই-মেইল পাঠাতে পারেন। HTML ই-মেইল প্রেরণ করতে হলে, আপনাকে MimeMessage এবং MimeMultipart ক্লাস ব্যবহার করতে হবে। HTML ই-মেইল পাঠানোর জন্য সাধারণত মেইল কনটেন্টকে text/html MIME টাইপ হিসেবে সেট করতে হয়।
নিচে একটি উদাহরণ দেয়া হলো, যেখানে JavaMail API ব্যবহার করে HTML ই-মেইল পাঠানো হচ্ছে।
উদাহরণ: HTML ই-মেইল পাঠানো
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;
public class SendHtmlEmail {
public static void main(String[] args) {
// SMTP সার্ভারের জন্য প্রপার্টি সেট করা
Properties properties = new Properties();
properties.put("mail.smtp.host", "smtp.gmail.com"); // SMTP server address
properties.put("mail.smtp.port", "587"); // SMTP port
properties.put("mail.smtp.auth", "true"); // Authentication
properties.put("mail.smtp.starttls.enable", "true"); // Enable TLS
// JavaMail সেশন তৈরি করা
Session session = Session.getInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("your-email@gmail.com", "your-email-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("HTML Email from JavaMail API");
// HTML কনটেন্ট সহ মেইল তৈরি করা
String htmlContent = "<h1>Welcome to JavaMail API</h1>"
+ "<p>This is an <b>HTML</b> email sent using JavaMail API.</p>"
+ "<p><a href='http://www.example.com'>Click here</a> to visit our website.</p>";
// MimeMultipart ব্যবহার করে HTML কনটেন্ট সেট করা
MimeBodyPart mimeBodyPart = new MimeBodyPart();
mimeBodyPart.setContent(htmlContent, "text/html");
// MimeMultipart অবজেক্টে কনটেন্ট যোগ করা
MimeMultipart mimeMultipart = new MimeMultipart();
mimeMultipart.addBodyPart(mimeBodyPart);
// মেইলে MIME কনটেন্ট সেট করা
message.setContent(mimeMultipart);
// মেইল পাঠানো
Transport.send(message);
System.out.println("HTML Email sent successfully!");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
কোডের ব্যাখ্যা:
- Properties:
mail.smtp.host: SMTP সার্ভারের ঠিকানা, যেমন Gmail এর জন্যsmtp.gmail.com।mail.smtp.port: SMTP পোর্ট (Gmail এর জন্য সাধারণত587)।mail.smtp.auth: SMTP সার্ভারের অথেন্টিকেশন সক্ষম করা।mail.smtp.starttls.enable: TLS এনক্রিপশন সক্রিয় করা।
- Session:
Session.getInstance(properties): SMTP সার্ভারের কনফিগারেশন সহ একটি সেশন তৈরি করা।Authenticatorব্যবহার করে প্রেরকের ই-মেইল ঠিকানা ও পাসওয়ার্ড প্রদান করা।
- MimeMessage:
MimeMessage(session): মেইল মেসেজ তৈরি করা।message.setFrom(): প্রেরকের ই-মেইল ঠিকানা সেট করা।message.setRecipients(): প্রাপকের ই-মেইল ঠিকানা সেট করা।message.setSubject(): মেইলের বিষয় নির্ধারণ করা।
- HTML কনটেন্ট:
setContent(htmlContent, "text/html"): HTML কনটেন্ট সেট করা।MimeMultipartএবংMimeBodyPartব্যবহার করে HTML কনটেন্ট মেইলে যোগ করা হয়।
- Transport.send(message): মেইল পাঠানোর জন্য এটি ব্যবহার করা হয়।
HTML ই-মেইলে অন্যান্য বৈশিষ্ট্য যুক্ত করা:
অ্যাটাচমেন্ট যুক্ত করা: আপনি যদি HTML ই-মেইলের সাথে অ্যাটাচমেন্ট যুক্ত করতে চান, তাহলে
MimeBodyPartব্যবহার করে অ্যাটাচমেন্ট যোগ করতে পারেন।MimeBodyPart attachmentPart = new MimeBodyPart(); FileDataSource source = new FileDataSource("path/to/file"); attachmentPart.setDataHandler(new DataHandler(source)); attachmentPart.setFileName("filename"); mimeMultipart.addBodyPart(attachmentPart);ইমেজ বা মিডিয়া ফাইল: HTML কনটেন্টে ছবি বা অন্যান্য মিডিয়া ফাইল যোগ করতে পারেন। উদাহরণস্বরূপ:
String htmlContentWithImage = "<h1>Welcome</h1>" + "<img src='cid:image1'/>"; // 'cid' ব্যবহার করা হয় inline images জন্য // ইমেজ ফাইল তৈরি করা MimeBodyPart imagePart = new MimeBodyPart(); DataSource fds = new FileDataSource("path/to/image.jpg"); imagePart.setDataHandler(new DataHandler(fds)); imagePart.setHeader("Content-ID", "<image1>"); mimeMultipart.addBodyPart(imagePart);
JavaMail API ব্যবহার করে HTML ই-মেইল পাঠানো খুবই সহজ এবং কার্যকর। আপনি HTML কনটেন্ট, অ্যাটাচমেন্ট, এবং ইমেজসহ মেইল পাঠানোর জন্য JavaMail API এর বিভিন্ন ক্লাস এবং ফিচার ব্যবহার করতে পারেন। এটি একটি শক্তিশালী ই-মেইল সিস্টেম ইন্টিগ্রেশন টুল যা আপনার অ্যাপ্লিকেশনগুলিতে ই-মেইল ফিচার যোগ করতে সাহায্য করে।
Read more