Programming Tutorials

Sending Email using JSP

By: Vijay in JSP Tutorials on 2023-05-05  

To send an email using JSP, you can use the JavaMail API. Here is an example of how to send an email in JSP:

  1. First, you need to download the JavaMail API jar file and place it in your project's classpath.

  2. Import the required classes at the beginning of your JSP page:

    <%@ page import="javax.mail.*, javax.mail.internet.*, java.util.*" %>
  3. Create a JavaMail session by specifying the SMTP server and port number. You also need to provide the authentication details (username and password) for the SMTP server:
    <%
        String host = "smtp.gmail.com";
        String username = "your-email-address";
        String password = "your-email-password";
        String port = "587";
    
        Properties props = new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.port", port);
    
        // create a mail session with the given properties
        Session session = Session.getInstance(props, new Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
            }
        });
    %>
  4. Create a new message and set its properties, such as the sender's and recipient's email addresses, subject, and content:
    <%
        String from = "your-email-address";
        String to = "recipient-email-address";
        String subject = "Email Subject";
        String body = "Email Body";
    
        // create a new message
        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));
        message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
        message.setSubject(subject);
        message.setText(body);
    %>
  5. Send the message using the Transport.send() method:
    <%
        // send the message
        Transport.send(message);
    %>

The complete code for sending an email using JSP is as follows:

<%@ page import="javax.mail.*, javax.mail.internet.*, java.util.*" %>

<%
    String host = "smtp.gmail.com";
    String username = "your-email-address";
    String password = "your-email-password";
    String port = "587";

    Properties props = new Properties();
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtp.host", host);
    props.put("mail.smtp.port", port);

    // create a mail session with the given properties
    Session session = Session.getInstance(props, new Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);
        }
    });

    String from = "your-email-address";
    String to = "recipient-email-address";
    String subject = "Email Subject";
    String body = "Email Body";

    // create a new message
    Message message = new MimeMessage(session);
    message.setFrom(new InternetAddress(from));
    message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
    message.setSubject(subject);
    message.setText(body);

    // send the message
    Transport.send(message);
%>

<h1>Email Sent</h1>

Note: This example uses Gmail as the SMTP server, but you can use any other SMTP server by modifying the "host" and "port" properties accordingly.






Add Comment

* Required information
1000

Comments

No comments yet. Be the first!

Most Viewed Articles (in JSP )

Latest Articles (in JSP)