Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [JSP] Mail, invio a più destinatari

    Ciao a tutti
    Ho realizzato una jsp che attraverso una form permette di inviare mail attravarso JavaMail.
    Per fare questo ho un paio di jsp (potrebbe essere anche una sola) sendmail.jsp in cui ho la form e sentmail.jsp in cui attraverso la setProperty acquisisco i valori della form passati tramite POST.
    Il tutto gira, e se voglio inviare a più destinatari mi basta mettere una virgola (,) tra gli indirizzi e-mail.
    Quello che vorrei progettare è creare dinamicamente una lista di tutte le mail presenti su un db con i vari checkbox (e fin qui ci siamo), e dare la possibilità, una volta cecckate le varie mail, di spedire a tutti i destinatari corrispondenti. Come posso fare con la mia setProperty a memorizzare tutti i destinatari dinamicamente? Anche perchè alla classe incaricata di inviare l'e-mail devo passare un'unica stringa, qualcosa del tipo: "aa@aa.aa,bb@bb.bb"
    Immagino che da qualche parte debba implementare un metodo ad hoc per concatenare i vari indirizzi e-mail...
    Oppure potrei fare un ciclo che invia separatamente ad ogni destinatario una mail... ma non mi sembra una gran soluzione...
    grazie, ciao
    www.ongarofrancesco.it
    Le cose vengono danneggiate in proporzione al loro valore.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Nella pagina col form le checkbox avranno tutte lo stesso nome (con quadre). La cosa potrebbe essere più o meno così: facendo finta che in rs ci sia il ResultSet di una query che estrae i tuoi indirizzi:

    codice:
    <form ...>
      ...
      <%
         while (rs.next()) {
       <input type="checkbox" name="address[]" value="<% out.print(rs.getString("address")); %>"> <% out.print(rs.getString("address")); %>
    
      <% } %>
      ....
    </form>
    Nella pagina di elaborazione dei dati del form, recuperi tutti gli indirizzi spuntati con
    codice:
    String[] address = request.getParameterValues("address[]");
    e da questa costruirti una String con i valori separati da virgola non è niente di trascendente.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Ciao Andrea, grazie del suggerimento... l'algoritmo per aggregare le stringhe molto semplicemente l'ho fatto circa così:
    codice:
         for(int i=0; i<mailTo.length; i++) {
    	newmail = newmail + mailTo[i];
    	if(i<(mailTo.length-1)) newmail = newmail + ",";	
         }
    Grazie, ciao...
    www.ongarofrancesco.it
    Le cose vengono danneggiate in proporzione al loro valore.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Per risparmiarti n-1 if

    codice:
    for(int i=0; i<mailTo.length-1; i++) {
    	newmail += mailTo[i]+",";
    }
    newmail += (mailTo.length > 0 ? mailTo[mailTo.length-1] : "");
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Giusto, ottima alternativa, grazie
    ciao
    www.ongarofrancesco.it
    Le cose vengono danneggiate in proporzione al loro valore.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.