Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    codice per mail in formato html

    Ciao a tutti, vi allego il codice che sto utilizzando per la spedizione di una newsletter, vorrei sapere perchè le mial che arrivano non sono in formato html, dove sbaglio?

    codice:
    <?
          break;
    
          case send:
    $header .= "MIME-Version: 1.0\r\n";
    	   $header .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
    	   $header .= "Content-Transfer-Encoding: 7bit\r\n";
    
          if(isset($_GET[titolo]))
          {
          $titolo = trim($_GET[titolo]);
          $messaggio = trim($_GET[messaggio]);
          }
          else
          {
          $titolo = trim($_POST[titolo]);
          $messaggio = trim($_POST[messaggio]);
          }
    
          $nl = chr(13);
         
    
          if(empty($titolo) OR strlen($titolo) < 4)
          {
          die("Il titolo deve avere minimo 4 caratteri");
          }
    
          if(empty($messaggio) OR strlen($messaggio) < 20)
          {
          die("Il messaggio deve avere minimo 20 caratteri");
          }
    
          $i = 0;
    
          $n = "\n\n";
    
          $data=mktime();
          $Query=mysql_query("INSERT INTO ".TABLE_PREFIX."sendnewsletter (titolo, messaggio, data, inviato) VALUES ('$titolo','$messaggio','$data','1')");
    
          $aQuery = mysql_query("SELECT * FROM  " . TABLE_PREFIX . "newsletter");
    
          while($Mails = mysql_fetch_array($aQuery)) 
          { 
           $i++; 
    
           if($i > 500)
           { 
           mail ($Mails[mail], $titolo, $messaggio.$n.$footermail, "From: ".$admin, $header);
           sleep(3);
    
           $i = 0;
           }
           else
           {
           mail ($Mails[mail], $titolo,    $messaggio.$n.$footermail, "From: ".$admin, $header); 
           }
          }
    
          mail ($admin, $titolo, "La seguente newsletter è stata inviata correttamente\n\n_ _ _ _ _ _ _ _\n\n".$messaggio.$n.$footermail, "From: ".$admin, $header); 
    ?>
    Se questo lo scrivo nella textarea del form di spedizione:
    codice:
    <html>
    <body>
    <h1>titolo newsletter</h1>
    
    
    testo paragrafo con testo in grassetto</p>
    <ul>[*]voce lista 1[*]voce lista 2[/list]
    prova link
    </body>
    </html>

    questo è quello che ricevo:
    codice:
    <html>
    <body>
    <h1>titolo newsletter</h1>
    
    
    testo paragrafo con testo in grassetto</p>
    <ul>[*]voce lista 1[*]voce lista 2[/list]
    <a href=\"http://www.nome_sito.ext\">prova link</a>
    </body>
    </html>
    come posso risolvere??

  2. #2
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  3. #3
    Ciao Sora88 quel tutorial l'ho consultato attentamente, e mi sebra di rispettare quanto dice, solo che non riesco ad ottenere l'effetto desiderato.
    Le intestazioni le metto e sono quelle del tutorial:
    codice:
    $header .= "MIME-Version: 1.0\r\n";
    	   $header .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
    	   $header .= "Content-Transfer-Encoding: 7bit\r\n";
    sono corrette?
    Dove sbaglio?

  4. #4
    Forse è un problema di passaggio di variabili del server.
    Con magic_quote php backslassha tutte le " e le '

    comunque non ho mai provato a mamndare mai in formato html, quindi non saprei aiutarti molto, mi dispiace
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434
    quindi prova così:
    quando ricevi l'input della textarea scrivi

    $testo_in_arrivo = stripslashes($_POST['nome_della_textarea']);

    poi togli quel transfer-encoding, ottenendo questi header:

    $header .= "MIME-Version: 1.0\r\n";
    $header .= "Content-Type: text/html; charset=iso-8859-1";

    e poi invii la mail
    [edit]: dimenticavo..per non farti inserire nella posta indesiderata di hotmail dovresti mettere questi header:

    $header .= "MIME-Version: 1.0\r\n";
    $header .= "Content-Type: text/html; charset=iso-8859-1\r\n";
    $header .= "X-Mailer: PHP/".phpversion();

  6. #6
    Ciao, ora con questa istruzione:
    codice:
    $testo_in_arrivo = stripslashes($_POST['nome_della_textarea']);
    non mi aggiunge i backslash di prima quando scrivo delle virgolette (") come prima:
    codice:
    <a href=\"http://www.nome_sito.ext\">prova link</a>
    però il testo continua a non essere interpretato in html, ma vedo ancora tutti i tag!

  7. #7
    comunque per copletezza della mia domanda specifico che uso questo script: link
    se qualcuno lo ha usato ed è riuscito a spedire mail in formato html mi faccia sapere!

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.