Bonjour, j'ai un site web qui propose d'envoyer un mail à l'administrateur de ce site depuis une page Contact. Voici comment j'ai créer mes JSP:
Contact.jsp
mail.jsp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 <html> <head> <title>Mail API</title> </head> <body> <table border="1" width="50%" cellpadding="0" cellspacing="0"> <tr> <td width="100%"> <form method="POST" action="mail.jsp"> <table width="100%" cellpadding="0" cellspacing="5" bgcolor="#BABABA"> <tr class="styleContactBig"> <td><b> En savoir plus ? Ãtre contacté ? une info ? un commentaire ? </b> </td> </tr> <tr> <td> </td> </tr> <tr class="styleContactSmall"> <td> nom <input name="nom" type="text" style="float: right" size="30" /> </td> </tr> <tr class="styleContactSmall"> <td> prénom <input name="prenom" type="text" style="float: right" size="30" /> </td> </tr> <tr class="styleContactSmall"> <td> société <input name="societe" type="text" style="float: right" size="30" /> </td> </tr> <tr class="styleContactSmall"> <td> email <input name="email" type="text" style="float: right" size="30" /> </td> </tr> <tr> <td> </td> </tr> <tr class="styleContactSmall"> <td> votre message <textarea name="texte" cols="35" rows="10" class="inputVotreMessage" style="float: right; text-align: left;" type="text"></textarea> </td> </tr> <tr> <td> </td> </tr> <tr class="styleContactSmall"> <td><input name='soumettre' type='submit' value='Envoyer' style="float: right;"> </td> </tr> </table> </form> </td> </tr> </table> </body> </html>
Mon code est fonctionnel, mon problème vient plutôt de la sécurité de l'adresse mail que j'utilise pour l'envoie de mail. Y a t-il un moyen d'éviter de noter le mot de passe en dur sur la page jsp?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 <%@ page language="java" import="javax.naming.*,java.io.*,javax.mail.*,javax.mail.internet.*,com.sun.mail.smtp.*,java.util.*"%> <html> <head> <title>Mail</title> </head> <body> <% try { // Creation du properties Properties props = System.getProperties(); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.port", "monPort"); props.put("mail.smtp.socketFactory.port", "monPort"); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.put("mail.smtp.socketFactory.fallback", "false"); // Creation d'une session mail à partir du properties Session mailSession = Session.getDefaultInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication( "monAddresse", "monMotDePasse"); } }); // Creation d'un message mail au format MIME MimeMessage message = new MimeMessage(mailSession); message.setFrom(new InternetAddress("monAddresse")); message.addRecipient(Message.RecipientType.TO, new InternetAddress( request.getParameter("email"))); message.setSubject("subject"); String contenuMail = "nom: " + request.getParameter("nom") + "\nprenom: " + request.getParameter("prenom") + "\nsociete: " + request.getParameter("societe") + "\nemail: " + request.getParameter("email") + "\n\nMessage: " + request.getParameter("texte"); message.setContent(contenuMail, "text/plain"); Transport.send(message); //out.println("Thanks for sending mail!"); } catch (Exception e) { out.println(e.getMessage()); e.printStackTrace(); } response.sendRedirect("Accueil.html"); %> </body> </html>
Partager