Mail in formato HTML

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
Buongiorno a tutti,
sto cercando di inviare una mail in formato html.
La mail in formato testo ha questo codice:
PHP:
$nome_mittente = "Lo staff di teatro7 | Lab";
							$mail_mittente = "[email protected]";
							

							$oggetto = "Conferma di acquisto del corso ".$id_lezione;

							$messaggio = "Gentile $nome_cliente $cognome_cliente,\n siamo lieti di confermarti l'acquisto del corso di cucina $titolo che sarà tenuta dallo chef $chef $weekday $giorno/$mese/$anno.\n\n Ti aspettiamo.\n\n Lo staff di teatro7 | Lab";
							$messaggio .= "ATTENZIONE: per qualunque problema riguardante il pagamento, il codice della tua transazione è $transazione. \n Cita questo codice nelle tue comunicazioni con teatro7 | Lab";

							$header = "From: " .  $nome_mittente . " <" .  $mail_mittente . ">.\r\n";
							$header .= "Reply-To: " .  $mail_mittente . "\r\n";
							$header .= "X-Mailer: PHP/" . phpversion();
E tutto funziona.
Per mandare la mail in html aggiungo i due header MIME e Content-type, quindi l'header diventa:
PHP:
$header = "From: " .  $nome_mittente . " <" .  $mail_mittente . ">.\r\n";
							$header .= "Reply-To: " .  $mail_mittente . "\r\n";
							$header .= "X-Mailer: PHP/" . phpversion()."\r\n";
							$header .= "MIME-Version: 1.0\r\n";
							$header .= "Content-type: text/html; charset=utf-8";
A questo punto se lascio $messaggio uguale a prima, la mail parte regolarmente.
Se cambio $messaggio in questo modo:
PHP:
$messaggio = "
							<html>
							<head>
							  
							</head>
							<body>
							<img src="www.teatro7.com/immagini/t7logo.gif"><br>
							Via Thaon di Revel, 7 - 20159 Milano - tel. 02 89073719<br><br><br>
							Gentile <b>$nome_cliente $cognome_cliente,</b><br> 
							siamo lieti di confermarti l'acquisto del corso di cucina $titolo che sarà tenuta dallo chef <b>$chef $weekday $giorno/$mese/$anno.</b><br><br> 

							Ti aspettiamo.<br><br> 

							Lo staff di teatro7 | Lab
							<br><br><br>

							<b>ATTENZIONE:</b><br>
							per qualunque problema riguardante il pagamento, il codice della tua transazione è $transazione.<br> Cita questo codice nelle tue comunicazioni con teatro7 | Lab.
							</body>
							</html>
							";
La mail non parte.
Perchè?
Non capisco...
Grazie in anticipo per tutto l'aiuto che potrete darmi...
 
Ho modificato il codice come segue, e adesso la mail parte regolarmente:
PHP:
$nome_mittente = "Lo staff di teatro7 | Lab";
							$mail_mittente = "[email protected]";
							

							$oggetto = "Conferma di acquisto del corso ".$id_lezione;

							$header = "From: " .  $nome_mittente . " <" .  $mail_mittente . ">\r\n";
							$header .= "Reply-To: " .  $mail_mittente . "\r\n";
							$header .= "X-Mailer: PHP/" . phpversion()."\r\n";
							$header .= "MIME-Version: 1.0\r\n";
							$header .= "Content-type: text/html; charset=utf-8\r\n";
							
							
							$messaggio = '<html><body>';
							$messaggio .= 'img src="http://www.teatro7.com/immagini/t7logo.gif" alt="teatro7 | Lab" />';
							$messaggio .= "<br>";
							$messaggio .= "Via Thaon di Revel, 7 - 20159 Milano - tel. 02 89073719<br><br><br>";
							$messaggio .= "Gentile <b>$nome_cliente $cognome_cliente,</b><br> ";
							$messaggio .= "siamo lieti di confermarti l'acquisto del corso di cucina $titolo che sarà tenuta dallo chef <b>$chef $weekday $giorno/$mese/$anno.</b><br><br>";
							$messaggio .= "Ti aspettiamo.<br><br>";
							$messaggio .= "Lo staff di teatro7 | Lab<br><br><br>";
							$messaggio .= "<b>ATTENZIONE:</b><br>";
							$messaggio .= "per qualunque problema riguardante il pagamento, il codice della tua transazione è $transazione.<br>";
							$messaggio .= "Cita questo codice nelle tue comunicazioni con teatro7 | Lab.";
							$messaggio .= "</body></html>";

							
							mail("[email protected]", $oggetto, $messaggio, $header);

Salvo che devo aver sbagliato con gli apici del tag img src, perche' nella mail compare il tag e non l'immagine.
Manca sempre uno a far trentuno...
:-)
 
Dimenticavo:
Naturalmente le variabili provengono da una query mysql... ma forse era ovvio.
A presto
 
certo che se non apro il tag img src... mancava questo: < all'inizio...
Scusate il disturbo.
 
dall'inglese escape
devi "escapare" le virgolette
per esempio
PHP:
$messaggio = "<img src="www.teatro7.com/immagini/t7logo.gif">";
diventa
PHP:
$messaggio = "<img src=\"www.teatro7.com/immagini/t7logo.gif\">";
 
In realtà se "escapo" (rabbrividisco....) gli apici non funziona piu'. Cmq il problema stava nella mancata apertura del tag img con la parentesi <.
Alla prossima e grazie ancora a tutti per i suggerimenti.
 

Discussioni simili