Computer >> Máy Tính >  >> Lập trình >> Lập trình

Làm thế nào để gửi một email dựa trên html bằng cách sử dụng trang JSP?

Đây là một ví dụ để gửi một email HTML từ máy của bạn. Giả định rằng localhost của bạn được kết nối với Internet và nó có đủ khả năng để gửi email. Đảm bảo tất cả các tệp jar từ gói API Email Java gói JAF có sẵn trong CLASSPATH.

Ví dụ này rất giống với ví dụ trước, ngoại trừ việc ở đây chúng tôi đang sử dụng setContent () để đặt nội dung có đối số thứ hai là "text / html" để chỉ định rằng nội dung HTML được bao gồm trong thư.

Sử dụng ví dụ này, bạn có thể gửi nội dung HTML lớn như bạn yêu cầu.

Ví dụ

<%@ page import = "java.io.*,java.util.*,javax.mail.*"%>
<%@ page import = "javax.mail.internet.*,javax.activation.*"%>
<%@ page import = "javax.servlet.http.*,javax.servlet.*" %>
<%
   String result;

   // Recipient's email ID needs to be mentioned.
   String to = "abcd@gmail.com";

   // Sender's email ID needs to be mentioned
   String from = "mcmohd@gmail.com";

   // Assuming you are sending email from localhost
   String host = "localhost";

   // Get system properties object
   Properties properties = System.getProperties();

   // Setup mail server
   properties.setProperty("mail.smtp.host", host);

   // Get the default Session object.
   Session mailSession = Session.getDefaultInstance(properties);

   try {
      // Create a default MimeMessage object.
      MimeMessage message = new MimeMessage(mailSession);

      // Set From: header field of the header.
      message.setFrom(new InternetAddress(from));

      // Set To: header field of the header.
      message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

      // Set Subject: header field
      message.setSubject("This is the Subject Line!");

      // Send the actual HTML message, as big as you like
      message.setContent("<h1>This is actual message</h1>", "text/html" );

      // Send message
      Transport.send(message);
      result = "Sent message successfully....";
   } catch (MessagingException mex) {
      mex.printStackTrace();
      result = "Error: unable to send message....";
   }
%>
<html>
   <head>
      <title>Send HTML 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>