javamail api in jsp

greenhorn568's Avatar, Join Date: Dec 2007
Newbie Member
Can some one please tell me how to make my JSP's use JavaMail to send
emails.
1). Please edit the code in such a way that, it should receive parameter values from the user form (request.getParameter())
2). parameters to be received are To address, From address, emailsubject, emailText.



The below code successfully sends emails to the emailList. Can someone help me to edit this code for the above requirements.
Code:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import java.io.*;



public class SendMailUsingAuthentication
{

  private static final String SMTP_HOST_NAME = "smra.dataone.in";
  private static final String SMTP_AUTH_USER = "drarreddy49_hyd";
  private static final String SMTP_AUTH_PWD  = "enclave";

  private static final String emailMsgTxt      = "Online Order Confirmation Message. Also include the Tracking Number.";
  private static final String emailSubjectTxt  = "Order Confirmation Subject";
  private static final String emailFromAddress = "neha_admal@yahoo.co.in";

  // Add List of Email address to who email needs to be sent to
  private static final String[] emailList = {"neha_admal@yahoo.co.in", "sweta_nahata2000@yahoo.co.in"};

  public static void main(String args[]) throws Exception
  {
    SendMailUsingAuthentication smtpMailSender = new SendMailUsingAuthentication();
    smtpMailSender.postMail( emailList, emailSubjectTxt, emailMsgTxt, emailFromAddress);
    System.out.println("Sucessfully Sent mail to All Users");
  }

  public void postMail( String recipients[ ], String subject,
                            String message , String from) throws MessagingException
  {
    boolean debug = false;

     //Set the host smtp address
     Properties props = new Properties();
     props.put("mail.smtp.host", SMTP_HOST_NAME);
     props.put("mail.smtp.auth", "true");

    Authenticator auth = new SMTPAuthenticator();
    Session session = Session.getDefaultInstance(props, auth);

    session.setDebug(debug);

    // create a message
    Message msg = new MimeMessage(session);

    // set the from and to address
    InternetAddress addressFrom = new InternetAddress(from);
    msg.setFrom(addressFrom);

    InternetAddress[] addressTo = new InternetAddress[recipients.length];
    for (int i = 0; i < recipients.length; i++)
    {
        addressTo[i] = new InternetAddress(recipients[i]);
    }
    msg.setRecipients(Message.RecipientType.TO, addressTo);


    // Setting the Subject and Content Type
    msg.setSubject(subject);
    msg.setContent(message, "text/plain");
    Transport.send(msg);
 }


/**
* SimpleAuthenticator is used to do simple authentication
* when the SMTP server requires it.
*/
private class SMTPAuthenticator extends javax.mail.Authenticator
{

    public PasswordAuthentication getPasswordAuthentication()
    {
        String username = SMTP_AUTH_USER;
        String password = SMTP_AUTH_PWD;
        return new PasswordAuthentication(username, password);
    }
}

}

Last edited by shabbir; 24Dec2007 at 17:09.. Reason: Code block
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
Duplicate of javamail api in jsp. Thread closed. Please do not create the same thread more then once.