Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344

    Invio mail: arriva ad alcuni e solo in formato testo

    Ciao a tutti,

    ho questo codice per l'invio di una mail, ma non capisco dove sbaglio, perchè visualizzando con outlook ad esempio, il formato è solo in testo e visualizzo quindi i tags.
    Inoltre su 3 indirizzi a cui la invio ad uno non arriva, nonostante abbia messo il mittente tra gli attendibili e pure nella rubrica.
    Ho notato inoltre che nelle email che ricevo il mittente non è visibile (vuoto). Credo che il problema per colui che non la riceve sia proprio questo.

    Ecco il codice:

    $data = date("d-m-Y H:i:s");
    $mail_to = "destinatario1@dominio.it,dominio.it,destinatario2 @dominio.it";
    $mail_from = "mittente@dominio.com";
    $mail_subject = "Ordine N. $numero_ordine";
    $mail_body = "

    Ordine N. $numero_ordine</p>

    Data: $data
    Ragione sociale: $RagioneSociale ($CodiceCliente)
    Destinazione: $TestoDestinazione ($CodiceDestinazione)
    Pagamento: $TestoPagamento ($CodicePagamento)
    Agente: $TestoAgente ($CodiceAgente)</p>

    Note: $NoteOrdine</p><table border=\"1\"><tr><td width=\"75px\">Codice</td><td width=\"100px\">Produttore</td><td width=\"300px\">Descrizione</td><td width=\"75px\" align=\"center\">Prezzo</td><td width=\"50px\" align=\"center\">Sconto %</td><td width=\"50px\" align=\"center\">Sconto merce</td><td width=\"50px\" align=\"center\">Quantità</td><td width=\"50px\" align=\"center\">Totale</td></tr>$riga_prodotti</table>";
    // Intestazioni HTML
    $mail_in_html = "MIME-Version: 1.0\r\n";
    $mail_in_html .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $mail_in_html .= "From: Nome visualizzato <$mail_from>";
    // Processo di invio
    if (!mail($mail_to, $mail_subject, $mail_body, $mail_in_html)) {
    print "Errore nell'invio email

    ";
    }


    E questa una parte di ciò che vedo nella email:

    Content-type: text/html; charset=iso-8859-1

    From: Nome visualizzato <mittente@dominio.com>
    Return-Path: root@ibm61.webhosting.it
    X-OriginalArrivalTime: 16 Dec 2009 10:49:14.0564 (UTC) FILETIME=[688CC040:01CA7E3D]


    Sbaglio forse qualcosa nelle intestazioni?

  2. #2
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    1. Ti manca il header Content-Transfer-Encoding
    2. Il header From deve essere situato prima dei Content Type e Content-Transfer-Encoding (per l'ordine dei header, apri il sorgente di qualsiasi mail che ti e' arrivata da un client vero)
    3. Su alcuni server *nix, il LF viene sostituito con CRLF automaticamente, quindi nel caso di CRLF, si raddoppia il CR. Se 1 e 2 non funzionano, prova a mettere solo il LF (con altre parole \n al posto di \r\n )

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    In effetti avevo proprio controllato in altre email e sostituito con questo:

    $header = "From: Nome visualizzato <$mail_from>\n";
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $header .= "Content-Transfer-Encoding: 7bit\n\n";

    e così funziona correttamente.

    Grazie

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.