Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Modulo invio e-mail

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232

    Modulo invio e-mail

    Ciao!

    Ho realizzato una form con dei campi e tramite questo


    Codice PHP:
    <?php

    // L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
    $to  "email_destinatario";

    $from stripslashes($_REQUEST['fromname'])."<".stripslashes($_REQUEST['fromemail']).">";

    /* Per inviare email in formato HTML, si deve impostare l'intestazione Content-type. */
    $intestazioni  "MIME-Version: 1.0\r\n";
    $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";

    // IL SOGGETTO DELLA MAIL
    $subject "Modulo";

    // COSTRUZIONE DEL CORPO DEL MESSAGGIO
    $body  "Modulo:\n\n";
    $body .= "Nome: "    trim(stripslashes($_POST["nome"])) . "\n";
    $body .= "Cognome: " trim(stripslashes($_POST["cognome"])) . "\n";
    $body .= "E-mail: "  trim(stripslashes($_POST["email"])) . "\n";
    $body .= "Oggetto: " trim(stripslashes($_POST["oggetto"])) . "\n";
    $body .= "Testo: "   trim(stripslashes($_POST["testo"])) . "\n";

    // INTESTAZIONI SUPPLEMENTARI
    $headers  "From: " "Mittente" ." "."<"."indirizzo_mittente".">";
    $headers  "Bcc: "  stripslashes($_REQUEST['nome']) ." "stripslashes($_REQUEST['cognome'])."<".stripslashes($_REQUEST['email']).">";

    // INVIO DELLA MAIL
    if(@mail($to$subject$body$headers$intestazioni)) { // SE L'INOLTRO E' ANDATO A BUON FINE...

    header("location: ...");

    // echo "L'e-mail e' stata inoltrata con successo.";

    } else {// ALTRIMENTI...

    // echo "Si sono verificati dei problemi nell'invio della e-mail.";

    header("location: ...");

    }

    ?>
    mi viene inviato il contenuto dei campi via e-mail a 2 indirizzi ma con qualche problema.

    Attualmente l'e-mail principale è email_destinatario e quella fornita dall'utente viene utilizzata come Bcc per la seconda e-mail.

    Quando l'e-mail arriva all'e-mail principale (email_destinatario) non compare From predefinito ma un indirizzo del server, invece con la seconda e-mail, la Bcc che mi arriva ma non riporta il From predefinito (ma un indirizzo del server) e come To riporta email_destinatario, vorrei invece che comparisse il From predefinito e come To l'e-mail fornita dall'utente.

    Quindi:
    - invio di 2 e-mail
    - From predefinito uguale per entrambe le e-mail
    - To e-mail fornita dall'utente
    - Bcc e-mail predefinita

    Come fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    Allora... ho risolto facendo dei cambiamenti al codice ed il risultato è questo

    Codice PHP:
    <?php

    // L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
    $to stripslashes($_REQUEST['nome'])."<".stripslashes($_POST['email']).">";

    $from stripslashes($_REQUEST['fromname'])."<".stripslashes($_REQUEST['fromemail']).">";

    /* Per inviare email in formato HTML, si deve impostare l'intestazione Content-type. */
    $intestazioni  "MIME-Version: 1.0\r\n";
    $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";

    // IL SOGGETTO DELLA MAIL
    $subject "Modulo";

    // COSTRUZIONE DEL CORPO DEL MESSAGGIO
    $body  "MODULO:\n\n";
    $body .= "Nome: "    trim(stripslashes($_POST["nome"])) . "\n";
    $body .= "Cognome: " trim(stripslashes($_POST["cognome"])) . "\n";
    $body .= "E-mail: "  trim(stripslashes($_POST["email"])) . "\n";
    $body .= "Oggetto: " trim(stripslashes($_POST["oggetto"])) . "\n";
    $body .= "Testo: "   trim(stripslashes($_POST["testo"])) . "\n";

    $headers  "From: " "Mittente" ." "."<"."indirizzo".">";
    $headers .= "\r\nBcc: indirizzo_bcc";

    // INVIO DELLA MAIL
    if(@mail($to$subject$body$headers$intestazioni)) { // SE L'INOLTRO E' ANDATO A BUON FINE...

    header("location: ...");

    // echo "L'e-mail e' stata inoltrata con successo.";

    } else {// ALTRIMENTI...

    // echo "Si sono verificati dei problemi nell'invio della e-mail.";

    header("location: ...");

    }

    ?>
    ma ho un altro problema: il mio script su un server di prova con PHP 4 funziona, su server con PHP 5 invece no, a me interessa che funzioni con il PHP 5, meglio ma non vitale anche retrocompatibile con il 4. Come faccio a capire cosa rende il mio script incompatibile con la versione 5? Oppure probabilmente qualche funzione lato server è stata disattivata dall'hosting? In questo caso quali funzioni mette in atto lo script?

    L'errore in PHP 5 è che non vengono inviate le 2 e-mail ma vengo comunque reindirizzato nella pagina che ho predisposto in cui mi si avverte che le e-mails sono state inviate.

    Chiedo un vostro aiuto.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    Mi date una mano? Non riesco a venirne a capo.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    UP!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.