отправить электронное письмо с текстом «электронная почта», который находится в текстовом поле - PullRequest
0 голосов
/ 15 сентября 2010

У меня есть текстовое поле в моем jsp, и я хотел бы отправить электронное письмо получателю, которому его адрес электронной почты введен в текстовое поле.

Подскажите, пожалуйста, как мне это сделать.

Я только что проверил этот код:

<html>
<head>
    <title>mailto Example</title>
</head>

<body>
<form action="mailto:XXX@XXX.com" method="post" enctype="text/plain" >
FirstName:<input type="text" name="FirstName">
Email:<input type="text" name="Email">
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>

Ответы [ 2 ]

0 голосов
/ 15 сентября 2010

Вам необходимо отправить свою форму сервлету и из сервлета выполнить этот метод для отправки почты. Ваша форма должна быть

<form action="sendMail.do" method="post" enctype="text/plain" >
FirstName:<input type="text" name="FirstName">
Email:<input type="text" name="Email">
<input type="submit" name="submit" value="Submit">
</form>

Вот код для отправки электронной почты из Java, выполните правильное сопоставление для сервлета в web.xml
Для учебников по сервлету, проверьте здесь

import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
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.jcom.net");

    // create some properties and get the default Session
    Session session = Session.getDefaultInstance(props, null);
    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);


    // Optional : You can also set your custom headers in the Email if you Want
    msg.addHeader("MyHeaderName", "myHeaderValue");

    // Setting the Subject and Content Type
    msg.setSubject(subject);
    msg.setContent(message, "text/plain");
    Transport.send(msg);
}
0 голосов
/ 15 сентября 2010

Обычный способ сделать это - использовать некоторый серверный скрипт, например в php, который примет значения формы, создайте из нее электронное письмо и отправьте его.

Данные формы, конечно, могут быть отправлены через javascript / ajax, но я думаю, что при использовании сценария php в этом нет необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...