View Single Post
Old 15-05-2013, 17:22   #1
titanum
Member
 
Iscritto dal: Oct 2008
Messaggi: 79
[php] problema con l'invio di mail contenenti html

Ciao ragazzi,

oggi ho realizzato uno script per inviare una mail con contenuto html, il cui codice è questo:
Codice:
 <?
    //change this to your email.
    $to = "xxxxxxxxx@gmail.com";
    $from = "xxxxxxxx@virgilio.it";
    $subject = "Hello! This is HTML email";

    //begin of HTML message
    $message = "<br>*** Prova invio email html<br> visita <a href=http://www.sito.org >www.sito.org</a>";

    // To send the HTML mail we need to set the Content-type header.
    $headers  = "From: mittente <$from>";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
    
    // now lets send the email.
    $ris = mail($to, $subject, $message, $headers);

    echo "Message has been sent....!";
?>
Lo script funziona, il problema è che ho provato ad inserire lo stesso codice in un file che effettua un ciclo while per inviare la mail a più utenti, e non funziona più, le mail arrivano ma i tag html vengono mostrati e non interpretati e al posto del mittente trovo scritto apache server e non il mio indirizzo.
Lo spazio web è lo stesso, cambia solo la cartella in cui risiedono i file.
Da che dipende? Grazie

Questo è il codice che non funziona correttamente
Codice:
<?php
		//prendo i valori dalla form
		$titolo=$_GET["titolo"];
		$testo=$_GET["testo"];
		$gruppoDestinatario=$_GET["gruppo"];
		
		//  codice per collegarsi al db e salvare il messaggio


		//invia la mail agli utenti del gruppo selezionato
	        $headers  = "From: {$datiMittente["nomeMittente"]} <{$datiMittente["emailMittente"]}>\r\n";
	        $headers .= "MIME-Version: 1.0\r\n";
	        $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

		$oggetto = "$titolo";
		if($gruppoDestinatario=="tutti") {
			$query_utenti="SELECT * FROM utenti";
		}
		else
			$query_utenti="SELECT * FROM utenti WHERE nomeGruppo='$gruppoDestinatario'";
	
		$ris=mysql_query($query_utenti,$myconn);
		while($riga=mysql_fetch_array($ris)){
			$email = $riga['email'];
			$messaggio = "$testo";
			mail($email, $oggetto, $messaggio, $header);
		}
		header("Location: gestioneMessaggi.php?status=1");
	}
?>

Ultima modifica di titanum : 15-05-2013 alle 19:09.
titanum è offline   Rispondi citando il messaggio o parte di esso