Как отправить электронное письмо с помощью javamail?

Похоже на http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/javamail/javamail.html, администратор отправляет электронную почту другому пользователю (настройка электронной почты по умолчанию). Но на самом деле у меня есть такая форма отправки:

<form action="contact" method="post">
<p>Your email address: <input name="email"></p>
<p>Mail subject: <input name="subject"></p>
<p>Mail message: <textarea name="message"></textarea></p>
<p><input type="submit"><span class="message">${message}</span></p>
</form>

Я действительно хочу, чтобы пользователь ввел свой адрес электронной почты, тему и тело (по электронной почте = мой gmail по умолчанию).

Как внести изменения в метод sendMail в http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/javamail/javamail.html?

Я ценю, если кто-то может мне помочь.


person user3014926    schedule 11.01.2014    source источник


Ответы (1)


Измените определение метода sendEmail, чтобы параметр «to» был переименован в «customerEmail». В методе processRequest получите адрес электронной почты, введенный пользователем с помощью request.getParameter("email"), и передайте его методу sendEmail (вместо "to"). Затем в sendEmail измените это:

message.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
message.setRecipients(Message.RecipientType.TO, address);

to

message.setFrom(new InternetAddress(customerEmail));
InternetAddress[] address = {new InternetAddress(YOUR EMAIL ADDRESS)};
message.setRecipients(Message.RecipientType.TO, address);
person chairbender    schedule 11.01.2014
comment
Сначала спасибо за ответ. Но прежде чем писать код для отправки электронной почты, оракул запрашивает у меня личную информацию, такую ​​как хост, имя пользователя, пароль и т. д. Являются ли эти отправители частной информацией? Если это так, я не смогу их узнать! - person user3014926; 14.01.2014