15 января 2008

Отправка почты с помощью Java Mail

JavaMail API представляtn собой платформонизависимый фреймворк для создания приложений способных работать с почтовыми серверами.
JavaMail распостраняется как дополнительный пакет для J2se, а также он входит в J2ee sdk.
Если у вас не установлено J2ee sdk, то вы можете скачать java mail API из сайта Sun Microsistems : java.sun.com/products/javamail .
В данном примере мы разберём как отправлять простые письма с помощью Mail API, поетому из скачаного архива нам понадобится библиотека mail.jar.

Для отправки сообщений написали функцию, которая получает все необходимые параметры (адрес smtp , smtp порт, e-mail адресс с которого отправляю, e-mail адресс на который отправляют, тема письм и содержание).

public void send(String smtpHost, int smtpPort, String from,String to, String subject, String content) throws AddressException, MessagingException {

java.util.Properties props = System.getProperties();
props.setProperty("mail.smtp.host", smtpHost); props.setProperty("mail.smtp.port", ""+smtpPort);
Session session = Session.getDefaultInstance (props, null);
// Construct the message
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
msg.setSubject(subject);
msg.setText(content);
Transport.send(msg);
}

Вызов функции будет иметь приблизительно такой вид.
send("smtp_server.com", 25, " from@email.com","to@email.com", "title","Hello from app!");

Замечание. необходимо указывать рабочий smtp иначе будет генерироватся исключение.
В следующей части рассмотрим отправку сообщений с аутентификацией через защищённый протокол ssl.

Комментариев нет: