Visualizzazione risultati 1 fino 6 di 6

Discussione: funzione mail() problema mittente e testo

  1. #1
    Guest

    Predefinito funzione mail() problema mittente e testo

    Ciao,sono ancora io :D
    ho inserito una sezione da cui i visitatori possono mandarmi una mail tramite un modulo (form).
    il modulo funziona bene,invia due variabili,cioe $_POST['mail_mittente'] e $_POST['testo'] e fin qua tutto bene,ora però avevo intenzione di fare due cose:

    1 che la mail arrivasse con il nome del sito al posto del mittente,e che io ci possa inserire codici html,tutto questo da fare con la variabile $header

    2 volevo mettere qualche frase che fosse scritta prima del messaggio vero e proprio,lasciando anche delle righe di spazio,

    il codice sulla pagina attualmente e cosi:

    Codice PHP:
    if (isset($_POST['mail_mittente']) && isset($_POST['testo'])) {
    $testo = $_POST['testo'];
    $testo = addslashes(stripslashes($testo));
    $testo = str_replace("<", "&lt;", $testo);
    $testo = str_replace(">", "&gt;", $testo);
    $testo = nl2br($testo);
    $headers = "From: $NomeSito /nContent-Type: text/html; charset=iso-8859-1\n";
    $testo_elaborato = "Hai ricevuto una mail da parte di un visitatore di $NomeSito <br />Questa mail e stata spedita dal sito: http://dharlet.altervista.org <br />ed e stato spedito da parte di: ".$_POST['mail_mittente']." <br /> ".$testo;
    if (@
    mail('miamail@mail.it', 'hai ricevuto una mail da '.$NomeSito, $testo_elaborato, $headers)) {
    echo
    "<script language=\"JavaScript\" type=\"text/javascript\">alert('mail inviata correttamente');</script>";
    } else {
    echo
    "<script language=\"JavaScript\" type=\"text/javascript\">alert('Invio mail fallito');</script>";
    }
    }
    la mail viene inviata bene come dimostrato dalle prove che ho fatto,ma la mail arriva cosi:
    su mittente c'e scritto: html@smtp-in02.email.it [Nessun mittente]
    mentre nel testo rimane tutto attaccato,e vengono scritti anche i <br /> come se non prendesse codici html,sapete come potrei fare?
    grazie :P

  2. #2
    Guest

    Predefinito

    eccoti fatto il codice

    Codice PHP:
    if (isset($_POST['mail_mittente']) && isset($_POST['testo'])) {
    $testo = $_POST['testo'];
    $testo = addslashes(stripslashes($testo));
    $testo = str_replace("<", "&lt;", $testo);
    $testo = str_replace(">", "&gt;", $testo);
    $testo = nl2br($testo);
    $headers = "From: $NomeSito /nContent-Type: text/html; charset=iso-8859-1\n";
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
    $testo_elaborato = "Hai ricevuto una mail da parte di un visitatore di $NomeSito <br />Questa mail e stata spedita dal sito: http://dharlet.altervista.org <br />ed e stato spedito da parte di: ".$_POST['mail_mittente']." <br /> ".$testo;
    if (@
    mail('miamail@mail.it', 'hai ricevuto una mail da '.$NomeSito, $testo_elaborato, $headers)) {
    echo
    "<script language=\"JavaScript\" type=\"text/javascript\">alert('mail inviata correttamente');</script>";
    } else {
    echo
    "<script language=\"JavaScript\" type=\"text/javascript\">alert('Invio mail fallito');</script>";
    }
    }

  3. #3
    Guest

    Predefinito

    ora il testo della mail ammette i codici html e i <br /> funzionano,ma il mittente della mail resta sempre lo stesso... ovvero non è $NomeSito

  4. #4
    Guest

    Predefinito

    io uso gli headers cosi:
    Codice PHP:
    $headers = "From: "."$email_name"." <"."$email_andress".">\r\n";
    $headers .= "Reply-To: "."$email_andress"."\r\n";
    $headers .= "Return-Path: "."$email_andress"."\r\n";
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

  5. #5
    Guest

    Predefinito

    Ok ho cambiato un po questi ultimi che mi hai mandato e funziona tutto bene :)

  6. #6
    Guest

    Predefinito

    felice per te

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •