Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    317

    Prepare una mail text/html format dinamicamente

    Ciao a tutti, ho bisogno di creare una mail ad invio automatico in formato html prendendo i dati dinamicamente dal db.
    La classe che invia le mail funziona correttamente, solo che la stringa da inviare può diventare molto lunga quindi ho pensato di gestire la cosa in questo modo:
    Preparo un file html che sarà il template della mail con un editor normalissimo.
    Ho fatto una semplice classe che prende in ingresso un file (il file html della mail) e restituisce una String (tutto il contenuto del file) da passare al TEXT della classe Mail.

    ...
    this.SUB = "Oggetto della Mail"
    this.FROM = "from@user.it"
    this.TEXT = new FileManager().getTextFromFile("Mail.html");
    ...

    Tutto funzionerebbe a meraviglia se solo non dovessi inserire nel corpo della mail del testo dinamico.
    L'ultima spiaggia è quella di scrivere a mano il contenuto della mail all'interno della classe adibita all'invio, con tutti i tag html, così posso chiudere la stringa in qualsiasi momento e inserirci il testo dinamico:

    ...
    this.SUB = "Oggetto della Mail"
    this.FROM = "from@user.it"
    this.TEXT = "<html><body><h1> CIAO "+user.getUsername()+"</h1></body></html>
    ...

    Ho provato ad utilizzare la classe WordProcessor...grazie ai segnalibri si possono generare facilmente documenti dinamici, ma il driver WordAPI.exe funziona solo su windows, io invece uso una piattaforma Linux...
    Qualche idea ??? Come posso risolvere il problema??

    Grazie a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    317
    Nessuno che mi può aiutare ?? Non c'è nessuno che utilizza JSP e che gli è già capitato di dover inviare fatture automatiche nella casella email dei clienti o qualcosa di simile, i prodotti preferiti, augurargli il buon compleanno ecc...??

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    56
    Ti servono le espressioni regolari. Guarda il metodo replaceAll di String.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    317
    Ho dato un'occhiata alla documentazione di replaceAll...scusami ma non riesco a focalizzare la soluzione del problema...come faccio a dirgli dove inserire una certa stringa all'interno del testo html che compone la mail. Potresti darmi qualche informazione in più per favore, magari un piccolo esempio di utilizzo del metodo.
    Grazie

  5. #5
    Se riesci a salvare i dati dinamici presi dal db in un file xml puoi usare xslt per generare la tua pagina dinamica.
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    317
    Penso di non avere difficoltà a prendere i dati dal db e scriverli su un file (xml)...Anche se non sono pratico nel creare file xml da zero...Le mie uniche esperienze nel campo dei file xml si limitano all'utilizzo del file web.xml e struts-config.xml !! Posso provare... Solo che non so come devo operare successivamente...Puoi darmi delle indicazioni e/o degli esempi su come utilizzare xslt (è la prima volta che lo sento) per generare la mia pagina html?

  7. #7
    Originariamente inviato da Anuelicon
    Penso di non avere difficoltà a prendere i dati dal db e scriverli su un file (xml)...Anche se non sono pratico nel creare file xml da zero...Le mie uniche esperienze nel campo dei file xml si limitano all'utilizzo del file web.xml e struts-config.xml !! Posso provare... Solo che non so come devo operare successivamente...Puoi darmi delle indicazioni e/o degli esempi su come utilizzare xslt (è la prima volta che lo sento) per generare la mia pagina html?
    Per generare l'xml puoi usare dom o sax (già integrati nella jdk) o anche jdom (da scaricare, io usao quello perchè lo trovo più semplice ed intuitivo). Per quanto concerne xslt, si tratta di un linguaggio basato anch'esso su xml mediante il quale si possono effettuare delle trasformazioni di file xml (e quindi dei dati in essi contenuti) in praticamente qualsiasi altro dipo di file testuale, html compreso. La cosa migliore è leggere il tutorial che trovi qui su html.it e altri tutorial che trovi sulla rete se vuoi avere le nozioni di base per essere subito operativo e realizzar equello che serev a te. poi se hai tempo ti consiglio di approfondire il discorso con un buon libro vista la vastissima gamma di settori in cui xslt viene usato. Ciao
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    56
    codice:
    String modelloHtml="<HTML><HEAD><TITLE>Titolo</TITLE></HEAD><BODY><H1>Testo</H1></BODY></HTML>"
    String testoHtml=modelloHtml.replaceAll("Titolo", "Il titolo vero");
    String testoHtml=testoHtml.replaceAll("Testo", "Il testo vero");
    Occhio agli escape negli argomenti di replaceAll: guarda la documentazione della classe Pattern e del suo metodo statico quote().

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.