invio mail da form con dati php

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
In un form di contatto alcuni dati li voglio inviare inserendoli in una mail in html per l'invio della risposta in tale formato. Quello che mi chiedo è se la pagina della mail invece di renderla statica con un messaggio generale volessi renderla dinamica e quindi popolare alcuni campi con il nome della persona che ha compilato il form come dovrei fare? Devo inserire tutto il codice html nella pagina php dove elaboro i dati prima dell'invio oppure posso inserirla con questo codice?
PHP:
		$mail_html =	file_get_contents('mail.html');

questa pagina dovrei però cambiarla in php visto che i dati sono dinamici, ma i dati che saranno dinamici come li modifico? Uso le sessioni?

Un problema simile l'ho avuto anche in un altro discussione. Ma mi rimane sempre il problema ed il dubbio.

Grazie
 
Devi usare la funzione mail()
PHP:
error_reporting(E_ALL);

// Genera un boundary
$mail_boundary = "=_NextPart_" . md5(uniqid(time()));
 
$to = "$email";//Recupera la mail del destinatario
$subject = "Oggetto della mail";
$sender = "tua@mail.it";

 
$headers = "From:tua@mail.it\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/alternative;\n\tboundary=\"$mail_boundary\"\n";
$headers .= "X-Mailer: PHP " . phpversion();

$msg = "\n--$mail_boundary\n";
$msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$msg .= "Content-Transfer-Encoding: 8bit\n\n"; 

$msg .="$var e testo";
$msg .= "\n--$mail_boundary--\n";
 
// Imposta il Return-Path (funziona solo su hosting Windows)
ini_set("sendmail_from", $sender);
 
// Invia il messaggio, il quinto parametro "-f$sender" imposta il Return-Path su hosting Linux
mail($to, $subject, $msg, $headers, "-f$sender");
 
Ultima modifica:
Utilizzo phpmailer. Con la funzione file_get_content la mail che voglio io, cioè in HTML mi viene inviata correttamente ma ovviamente è statica. Quindi non riesco a personalizzarla.

Volere è potere. Almeno penso...
 
volere è potere, quante volte "voglio" ma "non posso" ....

le variabili da inserire nel testo le recuperi con uno dei metodi disponibili $_SESSION, $_GET, $_POST o un'altra diavoleria disponibile a tua scelta.

nel testo che recuperi con "file_get_content" hai inserito dei "tag" che identificano gli oggetti che personalizzano il messaggio
ovvero, semplificando,

PHP:
$testo = "caro %nome%, ti scrivo perché ...."  // testo statico contenuto nel file
$testo = str_replace("%nome%", $_SESSION['nome'], $testo) // sostituzione dei tag con il valore
...
invio della mail con $testo personalizzato

ricapitolando, non li cambi con le sessioni come da tuo post, ma li cambi con un metodo che hai inserito nella tua logica,
i valori puoi recuperarli attraverso le sessioni
ciao
Marino
 
Ciao, vorrei utilizzare un sistema simile che mi permetta di mandare un'offerta aspetto un cliente. posso utilizzare la stessa logica per creare una mail personalizzata? Se volessi mandare una mail ad un indirizzo preciso, inserendo in una textarea del testo posso adoperare lo stesso sistema? In modo tale che l'utente si trova una mail in HTML con per esempio una proposta o offerta che voglio mandargli invece di scriverla in solo testo? Grazie

Volere è potere. Almeno penso...
 
Ciao, vorrei utilizzare un sistema simile che mi permetta di mandare un'offerta aspetto un cliente. posso utilizzare la stessa logica per creare una mail personalizzata? Se volessi mandare una mail ad un indirizzo preciso, inserendo in una textarea del testo posso adoperare lo stesso sistema? In modo tale che l'utente si trova una mail in HTML con per esempio una proposta o offerta che voglio mandargli invece di scriverla in solo testo? Grazie

Volere è potere. Almeno penso...

in tutti i casi da te citati, "Volere è potere"
ciao
Marino
 
Sono riuscito a fare ciò che mi serviva. Mi chiedevo se era meglio una mail con le tabelle (<table>) oppure in html5. Quale ha la migliore resa? Ho notato che con le tabelle è molto difficile applicare i css.
 
Sono riuscito a fare ciò che mi serviva. Mi chiedevo se era meglio una mail con le tabelle (<table>) oppure in html5. Quale ha la migliore resa? Ho notato che con le tabelle è molto difficile applicare i css.

Mi rispondo probabilmente da solo, dicendo che la formattazione con le table sono molto più compatibili con i client di posta. Quindi mi sa che resto su questo sistema
 

Discussioni simili