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...
 

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
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...
:)
 

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
Dimenticavo:
Naturalmente le variabili provengono da una query mysql... ma forse era ovvio.
A presto
 

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
certo che se non apro il tag img src... mancava questo: < all'inizio...
Scusate il disturbo.
 

cory

Utente Attivo
31 Gen 2014
51
0
6
cory.altervista.org
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\">";
 

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
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
Autore Titolo Forum Risposte Data
M Perchè non invia la mail in formato html? PHP 5
M formato mail html Classic ASP 0
gandalf1959 funzione mail() e variabili su un link nel body in formato xxx.php?$a=$codicecontrollo PHP 2
felino Mac OS e Client Mail: Stato non in linea Mac e Software 1
I recupera password via mail salva pasword password_hash PHP 2
I resetta password via mail PHP 2
M telecamera Foscam - mancato invio mail ad account gmail IP Cam e Videosorveglianza 0
K Importazione e-mail da account gmail ad un altro account gmail Posta Elettronica 0
R Invio mail con allegati multipli PHP 0
A Mail con funzione mail() riconosciute come spam PHP 9
R Invio mail con allegati da directory PHP 1
R Confrontare il dominio di una mail con una stringa contenente un dominio personalizzato, tutto ciò in php o javascript PHP 0
Daniele_Carrara Problema timeout - invio mail PHP 7
G Con Microsoft Outlook 2016 come si possono cancellare le mail doppie? Posta Elettronica 0
G Evitare che mi continui ad arrivare in alice mail spam Posta Elettronica 2
M configurare mail register.it (con 1000 invii/die) su Outlook Posta Elettronica 0
Marti1! Problema con casella mail cancellata Posta Elettronica 3
U PHP bottone per invio mail o ritorno al form PHP 15
G Invio mail con php da dati prelevati da un database PHP 9
AC1 [PHP] Invio Mail PHP 18
A [HTML] Testo mail non visualizzabile su IOS HTML e CSS 0
L Problema funzione mail() PHP PHP 3
I [PHP] inviare form con allegato tramite una mail PHP 1
A Libero mail non funziona Posta Elettronica 3
B [PHP] Invio mail automatico dopo compilazione form - db PHP 25
L PopUp tramite PHP se la mail inserita è già registrata nel database PHP 3
G [PHP] Creare mail con allegato nascosto e bottone di richiamo PHP 0
P [PHP] PEAR Mail e Query PHP 3
Cosina Andare a capo nel testo della mail ricevuta dal form php PHP 1
D [PHP] script che invii una mail automatica dopo risposta ad una discussione di un forum PHP 0
M [PHP] mandare mail usando i cantatti di una lista su mailchimp PHP 7
G [PHP] Creare appuntamento ed inviarlo tramite mail (Outlook e Gmail) PHP 0
L windows live mail Posta Elettronica 4
A [PHP] Problema invio mail con funzione mail() PHP 3
A Php mail non invia due mail di seguito PHP 3
A problema mail Posta Elettronica 5
A [PHP] Inviare mail con piu immagini allegate PHP 6
A [PHP] Modulo mail PHP 3
A [PHP] Formattazione Mail HTML HTML e CSS 5
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
paloppa [PHP] Invio mail da form dubbio PHP 17
B [PHP] Mail di Avvenuta registrazione PHP 4
M [PHP] Componi i file di Excel in e-mail PHP 1
S Creare nuovo account in Mail Mac e Software 0
F Form mail php errore invio PHP 5
Punix [PHP] problema script invio e-mail PHP 2
G Invio Mail con PHPMailer, problemi SMTP PHP 7
cobra_72 [PHP] problema invio multiplo allegati mail PHP 21
E [PHP] mail inviata anche con campi obbligatori non compilati PHP 9
Z Limite invio newsletter con PHP - mail() PHP 4

Discussioni simili