You are here: irt.org | FAQ | Java | Q4087 [ previous next ]
How to send SMTP mail from a Servlet. Requires a Mail Host ID and IP, but once you have that you can spam the world or send classy business mails to your hearts content. We send 100+ alert mails a day using this snippet of code and have yet to experience issues....
// these are required, plus any other imports you need
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.mail.*;
import javax.mail.internet.*;
/**
* this is not a complete application. The mail elements that are
* specified are all that is required to send mail. You may need to
* surround this snippet with more code to make it work for you.
*/
public class mailUtils extends Object {
public static String sendMails() {
////////////////////////////////////////////////////////////////////
// requires a valid mail host ID and IP
//
boolean isHTML = true; // set to false for Plain Text mail
Properties props = new Properties();
// insert your Mail Host ID and IP
props.put("mail.smtp.host","0.0.0.0");
// create properties and get the Session
Session session = Session.getDefaultInstance(props, null);
try {
// command to create a message
Message msg = new MimeMessage(session);
// set the message type
if (isHTML) {
msg.setContent(msgText, "text/html");
} else {
msg.setContent(msgText, "text/plain");
}
// set the from address NOTE: include <> around email address
InternetAddress FROM = new InternetAddress("Name or ID <email@address.com>");
msg.setFrom(FROM);
// set the TO addresses
InternetAddress[] addressto = {new InternetAddress("to@email.com")};
msg.setRecipients(Message.RecipientType.TO, addressto);
// set the CC addresses
InternetAddress[] addresscc = {new InternetAddress("cc@email.com")};
msg.setRecipients(Message.RecipientType.CC, addresscc);
// set the BCC addresses
InternetAddress[] addressbcc = {new InternetAddress("bcc@email.com")};
msg.setRecipients(Message.RecipientType.BCC, addressbcc);
// set the subject
msg.setSubject("Subject line text");
// send the message
Transport.send(msg);
} catch (MessagingException mex) {
// messaging exceptions
returnText = "MessageError:" + mex;
return returnText;
} catch (Exception e) {
// other exceptions
returnText = "Error:" + e;
return returnText;
}
}
}Submitted by mechanismo