Bonjour,
j'ai actuellement une succession de formulaires qui au final débouche sur un envoi de mail:
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 64 65 66 67 68
| if (request.getParameter("validerRecap") != null) {
boolean debug = false;
//String destinataires[] = {"florian.cadic@sdis44.fr"};
String subject = "Demande d'installation";
Utilisateur monUtilisateur = ((Utilisateur)session.getAttribute("utilisateurLog"));
String from = monUtilisateur.getNom().toUpperCase()+"."+monUtilisateur.getPrenom()+"@DemandeInstallation";
Iterator itApp = ((Vector)session.getAttribute("mesApplications")).iterator();
int cpt=0;
while(itApp.hasNext()){
Vector profils = ((Vector)session.getAttribute("mesProfilsAppli"));
Application appCourante =((Application)(GetList.getApplication(((String)itApp.next())).get(0)));
String destinataires[] = {ApplicationDAO.getInstance().findReferent(((String)itApp.next())).getMail()};
String message = "<html><head><title> Avis concernant une demande</title></head><body>";
message += monUtilisateur.getNom()+" "+monUtilisateur.getPrenom()+" a fait une demande d'installation pour l'application suivante :<br>";
message += "- "+appCourante.getLibelleApplication();
message += "<br>Profil :"+ ((Profil)GetList.getProfil(((String)profils.get(cpt))).get(0)).getLibelleProfil();
message += "<br>Validez vous sa demande pour cette application et ce profil?";
message += "<form action='http://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/integration/demande/FormulaireDemande' method='POST'>";
message += "<input type='submit' name='validerDemandeMail' value='Valider' onClick='alert('test ok')' /><input type='submit' name='refuserDemandeMail' value='Refuser' />";
message += "</form></body></html>";
try {
// Set the host smtp address
Properties props = new Properties();
props.put("mail.smtp.host", "W2K3-EXCH-1.sdis44.fr");
// create some properties and get the default Session
javax.mail.Session sessionMail = Session
.getDefaultInstance(props, null);
sessionMail.setDebug(debug);
// create a message
Message msg = new MimeMessage(sessionMail);
// set the from and to address
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);
InternetAddress[] addressTo = new InternetAddress[destinataires.length];
for (int i = 0; i < destinataires.length; i++) {
addressTo[i] = new InternetAddress(destinataires[i]);
}
msg.setRecipients(Message.RecipientType.TO, addressTo);
// Setting the Subject and Content Type
msg.setSubject(subject);
msg.setContent(message, "text/html");
System.out.println("envoi");
Transport.send(msg);
getServletContext().getRequestDispatcher(
JSP_PATH_DEMANDE + "formulaireConfirmationValidation.jsp")
.forward(request, response);
} catch (MessagingException ex) {
ex.printStackTrace();
}
cpt++;
}
} |
Comme vous pouvez le voir(ou pas) je recupere l'utilisateur loggé, et une liste d'applications ainsi que les profils liés.
En fait, à chaque application est attaché une personne, je tente donc de faire une boucle pour envoyer un mail à chacune de ces personnes; malheureusement ça n'envoie qu'un seul et unique mail à la premiere personne ( protection antispam j'imagine).
Le mail est donc en format html.
La personne reçoit donc un mail avec les différentes references et deux boutons ( Valider / Refuser), et le but serait de pouvoir pointer sur ma servlet via ces deux boutons; c'est ce que j'ai tenté de faire via le
<form action="urldemaservlet" method="POST">
Malheureusement lorsque je clique sur nimporte quel bouton , rien ne se passe 
Je voudrais donc savoir d'une part si mon envoi de mails multiple est faisable et d'autre part si ce que je souhaite mettre en place sur mon mail est possible?
Merci.
Partager