Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problemi di invio mail

  1. #1

    Problemi di invio mail

    Salve, mi serviva un informazione.
    Quando spedisco 1 mail con la funzione mail($target,$subject,$testo,$from) di php,nella variabile $testo ho preparato una stinga contenente i tag per creare una tabella all'interno della quale mostrare i dati inviati.
    Il problema è che quando la mail arriva a destinazione l'utente che la legge vede una striga tipo questa "<table><tr><td>ciao</td></tr></table>" al posto di vedere soltanto la parola ciao all'interno della colonna
    La mia domanda era: è per caso un problema di configurazione di php oppure è proprio la funzione mail che non supporta la presenza di tag all'interno della variabile $testo?
    Grazie in anticipo per un eventuale risposta

  2. #2
    per inviare una email che contiene tag html non ti basta creare una stringa che li contiene.

    $header = "From: NOMESITO <$emailutente>\n";
    $header .= "X-Mailer: Disconline.it\n";

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

    // costruiamo le intestazioni specifiche per un messaggio
    // con parti relazionate
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: multipart/related;\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 = "Se visualizzi questo testo il tuo programma non supporta i MIME\n\n";

    // costruiamo la sezione in formato html
    $messaggio .= "--$boundary\n";
    $messaggio .= "Content-Type: text/html;
    charset=\"iso-8859-1\"\n";
    $messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
    $messaggio .= "
    <html>

    <body>

    </body>
    </html>
    ";

    // costruiamo la sezione contenente l'immagine
    // cui attribuiamo l'id MiaImmagine123
    $messaggio .= "--$boundary\n";
    $messaggio .= "Content-ID: <immagine>\n";
    $messaggio .= "Content-Type: image/jpeg\n";
    $messaggio .= "Content-Transfer-Encoding: base64\n\n";

    $allegato = "nomeallegato.jpg";
    $file = fopen($allegato,'rb');
    $data = fread($file,filesize($allegato));
    fclose($file);

    // usiamo la codifica base64 per trasmettere il file
    $data = chunk_split(base64_encode($data));
    $messaggio .= "$data\n\n";

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

    $subject = "Newsletter";

    mail($address, $subject, $messaggio, $header) )

    e comunque qui trovi tutto quello che ti serve
    vai

  3. #3
    grazie mille dell'aiuto

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.