что такое эквивалент sendmail в JSP? - PullRequest
0 голосов
/ 16 августа 2011

Я пытаюсь отправить электронное письмо в JSP, но похоже, что мне нужно установить SMTP-сервер вручную, в отличие от PHP (PHP использует sendmail).

Какие опции у меня есть с JSP?

Ответы [ 2 ]

2 голосов
/ 16 августа 2011

Ваш лучший выбор для чистого JSP - это просто использовать Java для электронной почты, но лучший подход - написать собственный тег для отправки электронных писем, поскольку я считаю, что размещение такого большого количества кода на странице JSP - плохой дизайн.

Вот хорошая статья с большим количеством кода, но основная идея будет следовать:

http://www.java -samples.com / showtutorial.php? Tutorialid = 675

Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(subject);
msg.setText(messageText);

Transport.send(msg);

Для статьи, которая, возможно, немного устарела, но должна дать вам достаточно информации, чтобы сделать это самостоятельно, о тегах JSP и электронной почте вы можете прочитать это:

http://java.sun.com/developer/technicalArticles/javaserverpages/emailapps/

0 голосов
/ 18 августа 2011

На серверах приложений Java вы можете получить доступ к серверам smtp двумя основными способами:

Посредством поиска JNDI, если на сервере приложений настроен почтовый сервер (следующий пример для JBoss):

Session ms = (Session) new InitialContext().lookup("java:/Mail");

Через прямую настройку Session:

Properties props = new Properties();
props.setProperty("mail.smtp.host", "mySmtpHost");
session = Session.getInstance(props);
...