Visualizzazione dei risultati da 1 a 5 su 5

Discussione: codice html nella mail

  1. #1

    codice html nella mail

    ciao a tutti,
    sto cercando risolvere questo problema dell'invio mail con php. ad oggi sono fermo su questo punto: invio una mail ma i tag html non vengono interpretati.

    cosa sta succedendo?

    ecco la pagina
    codice:
    <?PHP
    
    	include "conn.php";
    
    	
    	function pagineprenotazioni($page, $pagetitle){
    		$mysqlc2 = new mysqlc();
    		$mysqlc2->query("SELECT id FROM pagine_richieste WHERE url_pagina = '$page' AND pagina='$pagetitle';");
    		if(($result = mysql_fetch_array($mysqlc2->result, MYSQL_ASSOC)) !== FALSE ) $mysqlc2->query("UPDATE pagine_richieste SET prenotazioni = prenotazioni + 1 WHERE id='{$result['id']}';");
    		else $mysqlc2->query("INSERT INTO pagine_richieste SET url_pagina = '$page', pagina = '$pagetitle', prenotazioni = '1';");
    	}
    
    
    
    	$nome = $_POST['nome'];
    
    	$mail = $_POST['mail'];
    
    	$telefono = $_POST['telefono'];
    
    	$cellulare = $_POST['cellulare'];
    
    	$fax = $_POST['fax'];
    
    	$localita = $_POST['localita'];
    
    	$periodosoggiornoda = $_POST['periodosoggiornoda'];
    
    	$periodosoggiornoal = $_POST['periodosoggiornoal'];
    
    	$tiporesidenza = $_POST['tiporesidenza'];
    
    	$altro = $_POST['altro'];
    
    	$numeropersone = $_POST['numeropersone'];
    
    	$budget = $_POST['budget'];
    
    	$messaggio = $_POST['messaggio'];
    
    
    
    	$mysqlc->query("INSERT INTO richieste SET 
    
    							nome='$nome',
    
    							mail='$mail',
    
    							telefono='$telefono',
    
    							cellulare='$cellulare',
    
    							fax='$fax',
    
    							localita='$localita',
    
    							periodosoggiornodal='$periodosoggiornoda',
    
    							periodosoggiornoal='$periodosoggiornoal',
    
    							tiporesidenza='$tiporesidenza',
    
    							altro='$altro',
    
    							numeropersone='$numeropersone',
    
    							budget='$budget',
    
    							messaggio='$messaggio',
    
    							data_ricezione_richiesta='".time()."',
    
    							stato='0';");
    
       // Specifica la tua mail e quella del destinatario
       //$mail_mittente = "info@viagginelsalento.it";
       $mail_destinatario = "info@viagginelsalento.it";
    
       // Specifica l'oggetto ed il corpo della mail
       $mail_oggetto = "Messaggio di prova 6";
       //$mail_corpo = "Questo è un messaggio di prova per testare la mia applicazione";
    
    
    
    	$headers = "X-Mailer: ViagginelSalento_IT\n";
    
    	
    
    	// costruiamo le intestazioni specifiche per il formato HTML
    
    	$headers .= "MIME-Version: 1.0\n";
    
    	$headers .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    
    	$headers .= "Content-Transfer-Encoding: 7bit\n\n";
    
    
    	// Messaggio
    
    	$messaggio = "
    
    	<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
    
    	<html xmlns='http://www.w3.org/1999/xhtml'>
    
    	<head>
    
    	<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
    
    	<title>SALENTO.IT - Richiesta di Contatto</title>
    
    	</head>
    
    	
    
    	<body style='text-align: center;'>
    
    		<div style='border: solid 0px; width: 752px; padding-top: 150px; margin: auto; background-image: url(http://banner/logo-salento.jpg); background-repeat: no-repeat; background-position: top;'>
    
    		<div style='padding: 15px; border-top: solid #0000FF 1px; width: 100%;'>
    
    					<div style='float: left; text-align: left;'>
    
    						Nome:
    
    
    						Mail:
    
    
    						Telefono:
    
    
    						Cellulare:
    
    
    						Fax:
    
    
    						Localita:
    
    
    						Dal:
    
    
    						Al:
    
    
    						Tipo di residenza:
    
    
    						Numero di persone:
    
    
    						Budget:
    
    
    					</div> 
    
    					<div style='margin-left: 150px; text-align: left;'>
    
    						$nome
    
    
    						$mail
    
    
    						$telefono
    
    
    						$cellulare
    
    
    						$fax
    
    
    						$localita
    
    
    						$periodosoggiornoda
    
    
    						$periodosoggiornoal
    
    
    						$tiporesidenza
    
    
    						$numeropersone
    
    
    						$budget
    
    
    					</div>
    
    					<div style='text-align: left; padding-top: 25px; padding-bottom: 25px;'>
    
    						Messaggio:
    
    
    						<div style='border: solid 1px; padding: 5px; width: 700px; height: auto;'>
    
    						".nl2br($messaggio)."
    
    						</div>
    
    						
    
    
    
    
    						Altro:
    
    
    						<div style='border: solid 1px; padding: 5px; width: 700px; height: auto;'>
    
    						".nl2br($altro)."
    
    						</div>
    
    					</div>
    
    
    
    			</div>
    
    			<div style='border-top: solid #0000FF 1px; width: 100%; text-align: left; padding: 15px; font-family: Arial, Helvetica, sans-serif; font-size: 12px;'>
    
    				
    
    ";
    
    	
    
    	#############################################################################
    
    	# Calcola la pagina precedente da cui viene l'utente
    
    	$uip = $_SERVER["REMOTE_ADDR"];
    
    	$db = "_1";
    
    	$mysqlc = new mysqlc();
    
    	$mysqlc->query("SELECT * FROM `details` WHERE ip='$uip' ORDER BY `date` DESC LIMIT 0, 10;");
    
    	$messaggio .= "L'utente, prima di prenotare con il form, si trovata nelle pagine:
    ";	
    
    	$cnt = 3;
    
    	while(($result = mysql_fetch_array($mysqlc->result, MYSQL_ASSOC)) !== FALSE){
    
    		echo $result['currentPage'];
    
    		if(strtolower($result['currentPage']) == "form.htm") continue;
    
    		else {
    
    			$messaggio .= "$cnt - URL: <font style='color: #FF0000;'>{$result['currentPage']}</font> Titolo: <font style='color: #FF0000;'>{$result['titlePage']}</font>
    ";
    
    			pagineprenotazioni($result['currentPage'], $result['titlePage']);			
    
    			if($cnt == 1) break;
    
    			else $cnt--;
    
    		}
    
    	}
    
    	
    
    	$messaggio .= "
    
    				</p>
    
    			</div>	
    
    			<div style='border-top: solid #0000FF 1px; width: 100%; text-align: center; padding: 15px; font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: 12px;'>
    
    				<img src=\"bannersalentoviaggi.gif\" alt=\"\" />
    
    			</div>		
    
    		</div>
    
    	</body>
    
    	</html>
    
    	";
    	
    
       // Invia la mail e lancia un messaggio di conferma
       if (mail($mail_destinatario, $mail_oggetto, $messaggio, "From: $mail_mittente", $headers))
       {
           echo "Messaggio inviato con successo a $mail_destinatario";
       }
       // oppure un messaggio di errore in caso di fallimento
       else
       {
           echo "Errore. Nessun messaggio inviato.";
       }
    ?>
    la mail viene intepretata così


    codice:
    	<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
    
    	<html xmlns='http://www.w3.org/1999/xhtml'>
    
    	<head>
    
    	<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
    
    	<title>Richiesta di Contatto</title>
    
    	</head>
    
    	
    eccetera
    ---------------------------
    danielix05

  2. #2
    Utente di HTML.it L'avatar di Gumble
    Registrato dal
    Jun 2004
    Messaggi
    1,313
    perché non usi mimemail? é una classe molto utile...

    http://www.phpclasses.org/browse/file/8202.html
    alcool: la causa e la soluzione di tutti i problemi

  3. #3

    ulteriore passo avanti?

    ho anche notato che cliccando destro sul messaggio ed entrando in dettagli
    alla fine noto quanto segue

    Mime-Version: 1.0
    Content-Type: text/plain

    è come se outlook express non riconoscesse che quel messaggio è in html

    ma negli headers io ho messo $headers .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";

    quindi dovrebbe riconoscere l'html ma non lo fa

    uffa
    ---------------------------
    danielix05

  4. #4

    sono abbastanza fuso

    mi potete aiutare a capire se la classe mimemail può essermi utile.


    come si vede, all'interno del mio file che manda la mail c'è un db e altri controlli
    questa classe va bene.

    posso vedere alcuni esempi?

    grazie e buona notte.
    ---------------------------
    danielix05

  5. #5

    perchè dico io perchè

    ancora buon giorno,

    perchè quando ricevo con outlook mi mostra il messaggio come text/plain nonostante io, nel file inviamail.php, dica content= text/html ???

    ho capito che, probabilmente, la connessione ai db e le altre operazioni descritte intoppino un po' con l'html. quindi text/html nel content non sarebbe abbastanza

    ma come posso rimediare???

    dai ragazzi....
    ---------------------------
    danielix05

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.