invio email con php

  • Creatore Discussione Creatore Discussione millino
  • Data di inizio Data di inizio

millino

Nuovo Utente
13 Ott 2006
1
0
0
ciao a tutti
sto lavorando all'invio di news in formato html agli iscritti alla mia newsletter da un form che ho costruito in php
l'invio funziona corretteamente l'unico problema è che in alcune mail mancano dei caratteri
mi sono iscritta con due indirizzi diversi alla newsletter per controllare e mi sono accorta che ogni mail ha degli errori differenti

finche i caratteri mancanti sono contenuti nel testo della news non è un problema, tanto il senso si capisce lo stesso
il problemasi presenta quando mancano dei caratteri dei tag html
per esempio nell'ultima mail che mi è arrivata c'era questo testo:

Il mese scorso la rivista edita dal Sistema Museale Provinciale di Ravenna ha pubblicato alcuni articoli sul tema 'musei e visite 3D' a href="http://www.exhibits.it/flash/submenu.php?id_sub=14&tabella=News&id_menu=000005&blu=NULL" target="_blank">[...]

ovviamente il link non era attivo perche manca '<' che apre il tag..

spero di essere stata chiara e che qualcuno sappia consigliarmi un modo per risovere il problema..

incollo di seguito il codice che genera e invia la mail

$header ="From: Exhibits3D Newsletter\n";
$header .= "X-Mailer: PHP/4.0.2\n";

// generiamo la stringa che funge da separatore
$boundary = "==String_Boundary_x" .md5(time()). "x";

// costruiamo le intestazioni che specificano
// un messaggio costituito da più parti alternative
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Type: multipart/alternative;\n";
$header .= " boundary=\"$boundary\";\n\n";

// questa parte del messaggio viene visualizzata
// solo se il programma non sa interpretare
// i MIME poiché è posta prima della stringa boundary
$messaggio = "$descrizione\n\n";

// inizia la prima parte del messaggio in testo puro
$messaggio .= "--$boundary\n";
$messaggio .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
$messaggio .= "testo txt\n\n";

// inizia la seconda parte del messaggio in formato html
$messaggio .= "--$boundary\n";
$messaggio .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
$messaggio .= "testo html\n";

// chiusura del messaggio con la stringa boundary
$messaggio .= "--$boundary--\n";

$subject = "Exhibits3D - Newsletter";

// inviamo il messaggio di posta elettronica
// controllando eventuali errori
if( @mail($email, $subject, $messaggio, $header) ) echo "e-mail inviata con successo!<br>";
else echo "errore nell'invio dell'e-mail!<br>";


ciao
 

Discussioni simili