Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.lang.javascript > #8310 > unrolled thread

mailto e tabella html nel corpo della mail

Started by"MarcoP" <marco.pertegato.2604@gmail.com.invalid>
First post2019-10-11 14:36 +0000
Last post2019-10-14 15:14 +0000
Articles 3 — 2 participants

Back to article view | Back to it.comp.lang.javascript


Contents

  mailto e tabella html nel corpo della mail "MarcoP" <marco.pertegato.2604@gmail.com.invalid> - 2019-10-11 14:36 +0000
    Re: mailto e tabella html nel corpo della mail Roberto Tagliaferri <tagliaferri@bofhland.org> - 2019-10-14 11:53 +0200
      Re: mailto e tabella html nel corpo della mail "MarcoP" <marco.pertegato.2604@gmail.com.invalid> - 2019-10-14 15:14 +0000

#8310 — mailto e tabella html nel corpo della mail

From"MarcoP" <marco.pertegato.2604@gmail.com.invalid>
Date2019-10-11 14:36 +0000
Subjectmailto e tabella html nel corpo della mail
Message-ID<qnq41f$bg6$1@news.fcku.it>
Buongiorno a tutti,
non ho esperienza con javascript, e sto provando ad inserire una parte di 
una pagina HTML nel corpo di una mail.
Si tratta di una tabella che vorrei "copiare" nel corpo, ed aprire la 
finestra della mail per far inserire il destinatario, e spedirla.

Come dicevo non ho familiarità con il codice e le funzioni javascript, 
quindi sono arrivato ad un punto morto.
Nel codice che posto c'è anche una text area, che ho aggiunto per 
verificare che effettivamente la tabella sia stata recuperata (ed è così 
:-)):

Parte javascript:
<script type="text/javascript">
<!--
function Email() {
var oggetto   = "Titolo della tabella";
var table = document.getElementById("myTable").innerHTML;
table = '<table>' + table + '</table>';
document.getElementById("corpoMail").value = table;
table = encodeURIComponent(table);
window.open("mailto:?subject=" + oggetto + "&body=" + table);
}
</script>

Richiamato da un bottone:
<input type="button" value="Invia" onclick="Email()">
<br>
<textarea id="corpoMail" rows="500" cols="100"></textarea>

Dato che non ne esco:
- c'è qualche errore particolare?
- esiste un'alternativa al "semplice" mailto che mi permetta di costruire 
la mail pezzo per pezzo (compreso il tipo mail HTML)?

Grazie in anticipo... e spero non sia la solita domanda posta mille volte 
:-))
P.S. Nel mio PC uso Outlook, ma se si potesse usare con qualsiasi client 
meglio

-- 

MarcoP

[toc] | [next] | [standalone]


#8311

FromRoberto Tagliaferri <tagliaferri@bofhland.org>
Date2019-10-14 11:53 +0200
Message-ID<qo1gim$spm$1@gioia.aioe.org>
In reply to#8310
MarcoP wrote:

> Buongiorno a tutti,
> non ho esperienza con javascript, e sto provando ad inserire una parte di
> una pagina HTML nel corpo di una mail.
> Si tratta di una tabella che vorrei "copiare" nel corpo, ed aprire la
> finestra della mail per far inserire il destinatario, e spedirla.
> 
> Come dicevo non ho familiarità con il codice e le funzioni javascript,
> quindi sono arrivato ad un punto morto.
> Nel codice che posto c'è anche una text area, che ho aggiunto per
> verificare che effettivamente la tabella sia stata recuperata (ed è così
> :-)):
> 
> Parte javascript:
> <script type="text/javascript">
> <!--
> function Email() {
> var oggetto   = "Titolo della tabella";
> var table = document.getElementById("myTable").innerHTML;
> table = '<table>' + table + '</table>';
> document.getElementById("corpoMail").value = table;
> table = encodeURIComponent(table);
> window.open("mailto:?subject=" + oggetto + "&body=" + table);
> }
> </script>
> 
> Richiamato da un bottone:
> <input type="button" value="Invia" onclick="Email()">
> <br>
> <textarea id="corpoMail" rows="500" cols="100"></textarea>
> 
> Dato che non ne esco:
> - c'è qualche errore particolare?
> - esiste un'alternativa al "semplice" mailto che mi permetta di costruire
> la mail pezzo per pezzo (compreso il tipo mail HTML)?
> 
> Grazie in anticipo... e spero non sia la solita domanda posta mille volte
> :-))
> P.S. Nel mio PC uso Outlook, ma se si potesse usare con qualsiasi client
> meglio
> 

Ciao, non mi risulta che il mailto: accetti nel body dell'html.

-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)tosnet.it
www.robyt.eu

[toc] | [prev] | [next] | [standalone]


#8312

From"MarcoP" <marco.pertegato.2604@gmail.com.invalid>
Date2019-10-14 15:14 +0000
Message-ID<qo23dd$cs7$1@news.fcku.it>
In reply to#8311
On 14.10.2019 11:53:26 +02:00, Roberto Tagliaferri wrote:
> Ciao, non mi risulta che il mailto: accetti nel body dell'html.

Vero, ho visto e rivisto questa cosa e ci ho sbattuto la testa, ed in 
effetti con mailto non c'è stato verso...  se non vedere tutto
ben formattato nel corpo della mail, ma non credo che ai destinatari 
interessino i tag della tabella :-)

Ma chi la dura la vince! O almeno in parte e girando ilk problema: non è 
al 100% compatibile con tutti i client, ma io ho provato solo con Outlook 
e Thunderbird e funziona, ma se provo da un cellulare android non funziona 
a dovere...

Questo il codice della funzione, che mi fa il download di un file che si 
chiama come il titolo della pagina .eml:

<script type="text/javascript">                          
function Email() {                                       
                                                         
var table = document.getElementById("myTable").innerHTML;
                                                         
    table = 'To: ' + "\n"                                
          + 'Subject: /%TitoloDati%/' + "\n"             
          + 'X-Unsent: 1 ' + "\n"                        
          + 'Content-Type: text/html' + "\n"       
          + "\n"                                                           
     
          + '<html><head>'                                                 
     
          + '<meta http-equiv="content-type" 
content="text/html;charset=UTF-8">'
          + '<style>'                                                      
     
          + 'body {'                                                       
     
          + 'FONT-FAMILY: Verdana;'                                        
     
          + 'FONT-SIZE: 10pt;'                                             
     
          + 'FONT-WEIGHT: normal;'                                         
     
          + 'MARGIN-TOP: 0pt;'                                             
     
          + 'PADDING-TOP: 0pt'                                             
     
          + '}'                                                            
     
          + '</style></head>'                                              
     
          + '<body><table>'                                                
     
          + table                                                          
     
          + '</table></body></html>';                                      
     
var data = new Blob([table], {type: 'text/plain'});
saveAs(data, "/%TitoloDati%/.eml");                      
}        
</script>

Questo file è una e-mail bella e pronta, manca solo il destinatario, e 
quant'altro ci si vogliua aggiungere

Al posto di /%TitoloDati%/ ci sarà il nome della tabella, e la variabile 
tabe contiene i dati di intestazioni e righe.
L'ultima istruzione l'ho postata come da test fatto poco fa, sarebbe bello 
aprire direttamente la mail con l'applicazione 
predefinita del dispositivo...

-- 

MarcoP

[toc] | [prev] | [standalone]


Back to top | Article view | it.comp.lang.javascript


csiph-web