2010-09-15 8 views
-1

J'ai une zone de texte dans mon jsp et voudrais envoyer un e-mail au destinataire qui est entré son e-mail dans la zone de texteenvoyer un e-mail au texte "e-mail" qui est dans la zone de texte

Pouvez-vous s'il vous plaît me guider sur la façon de le faire.

Je viens de vérifier ce code:

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

<body> 
<form action="mailto:[email protected]" 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> 
+0

vous voulez ouvrir un natif client de messagerie sur le système de l'utilisateur ou vous voulez envoyer un e-mail à partir de votre serveur? –

Répondre

0

Vous devez envoyer votre formulaire à une servlet et, à partir de servlet, exécuter cette méthode pour envoyer des messages. votre formulaire doit être

<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> 

Voici le code pour envoyer des courriels à partir de Java, une cartographie appropriée pour servlet dans web.xml
Pour des tutoriels servlet check it here

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

Puis-je faire cela dans le même jsp. Juste pour tester – maas

+0

Vous pouvez, je ne vais pas le recommander, mieux le mettre sur Servlet, –

0

La façon courante de le faire est d'avoir un script côté serveur, par exemple en PHP, qui prendra les valeurs du formulaire, créer un email à partir de cela et l'envoyer.

Les données de formulaire pourraient bien sûr être envoyées via javascript/ajax, mais je pense que cela ne serait pas nécessaire lors de l'utilisation d'un script PHP.