Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    126

    Invio mail dopo scrittura su DB

    Salve a tutti.
    In un form che, una volta compilato, scrive tutto su un DB, vorrei che insieme inviasse ad un indirizzo definito una mail con una "sintesi" del form inviato.
    Per far questo, subito dopo le stringhe per l'INSERT nel DB, ho inserito questo codice:
    Codice PHP:
    <?
    $nome
    =$_POST ['nome'] ; 
    $citta=$_POST ['citta'] ;
    $indirizzo=$_POST ['indirizzo'] ;  
    $telefono=$_POST ['telefono'] ; 
    $email=$_POST ['email'] ; 
    $richiesta=$_POST ['richiesta'] ; 

    $mail"xxxxxxxx@xxxxxxx.com" 
    $subject "informazioni"

    $body "Contenuto del modulo:\n\n"$body .= "Nome cognome: " trim(stripslashes($_POST["nome"])) . "\n"$body .= "citta: " trim(stripslashes($_POST["citta"])) . "\n"$body .= "telefono: " trim(stripslashes($_POST["telefono"])) . "\n"$body .= "email: " trim(stripslashes($_POST["email"])) . "\n"$body .= "Indirizzo: " trim(stripslashes($_POST["indirizzo"])) . "\n"$body .= "Richiesta: " trim(stripslashes($_POST["richiesta"])) . "\n"

    mail("$mail","$subject","$body"); 
    ?>
    che però pare non funzionare, perchè alla casella di posta indicata, non arriva nulla.

    Qualche errore in particolare ritrovate nello script?
    Qualche suggerimento?

    Grazie a tutti.

  2. #2
    Le stringhe vanno tra doppi apici, le variabili e le costanti no
    Codice PHP:
    <? 
    $nome
    =$_POST ['nome'] ; 
    $citta=$_POST ['citta'] ; 
    $indirizzo=$_POST ['indirizzo'] ;
    $telefono=$_POST ['telefono'] ; 
    $email=$_POST ['email'] ; 
    $richiesta=$_POST ['richiesta'] ; 

    $mail"xxxxxxxx@xxxxxxx.com" 
    $subject "informazioni"

    $body "Contenuto del modulo:\n\n"$body .= "Nome cognome: " trim(stripslashes($_POST["nome"])) . "\n"$body .= "citta: " trim(stripslashes($_POST["citta"])) . "\n"$body .= "telefono: " trim(stripslashes($_POST["telefono"])) . "\n"$body .= "email: " trim(stripslashes($_POST["email"])) . "\n"$body .= "Indirizzo: " trim(stripslashes($_POST["indirizzo"])) . "\n"$body .= "Richiesta: " trim(stripslashes($_POST["richiesta"])) . "\n";

    mail($mail,$subject,$body); 
    ?>

    Ce l'ho fatta! - ItalianPixel -

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    126
    Grazie innanzitutto.
    Però, ahinoi, pare non andare. Nessun errore comunicato, ma della mail nessuna traccia.

  4. #4
    intanto è corretto verificare l'invio della mail in questo modo:
    Codice PHP:
    $send_mail=mail($mail,$subject,$body); 
    if(
    $send_mail)
    {
     echo
    "Mail inviata";
    }
      else{
    echo 
    "Mail non inviata";
           } 

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    126
    Grazie E.d.i.73.
    Nella verifica la mail risulta inviata, ma la casella è tristemente vuota. Ho provato anche con una altro gestore di posta con simili risultati.

    Potrebbe esser qualche impostazione particolare del gestore dello spazio?
    Oppure la sequenza SCRITTURA DB-->INVIO MAIL è errata?

  6. #6
    Controlla nello spam. E' raro che succeda ma non indicando un mittente può essere quello il problema.
    Aggiungi un mittente e riprova.
    Ce l'ho fatta! - ItalianPixel -

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    126
    Inserito anche un fittizio mittente, esito MAIL INVIATA ma zero mail e zero spam.

    Riporto il codice di seguito:

    Codice PHP:
    <? 
    $nome
    =$_POST ['nome'] ; 
    $citta=$_POST ['citta'] ; 
    $indirizzo=$_POST ['indirizzo'] ; 
    $telefono=$_POST ['telefono'] ; 
    $email=$_POST ['email'] ; 
    $richiesta=$_POST ['richiesta'] ; 

    $mail"rrrrr@rrrrrr.com" 
    $subject "informazioni";
    $headers="From: [email]mittente@mail.it[/email]"

    $body "Contenuto del modulo:\n\n"$body .= "Nome cognome: " trim(stripslashes($_POST["nome"])) . "\n"$body .= "citta: " trim(stripslashes($_POST["citta"])) . "\n"$body .= "telefono: " trim(stripslashes($_POST["telefono"])) . "\n"$body .= "email: " trim(stripslashes($_POST["email"])) . "\n"$body .= "Indirizzo: " trim(stripslashes($_POST["indirizzo"])) . "\n"$body .= "Richiesta: " trim(stripslashes($_POST["richiesta"])) . "\n"

    $send_mail=mail($mail,$subject,$body,$headers); 
    if(
    $send_mail

    echo
    "Mail inviata"

      else{ 
    echo 
    "Mail non inviata"
           }
    ?>
    Mi permetto di aggiungere che anche gli esempi forniti dal gestore dello spazio danno come esito MAIL INVIATA ma in effetti non "consegnano" alcun messaggio.
    Che sia una impostazione particolare del server? In questo caso come verificarla?

  8. #8
    In teoria non dovrebbe centrare l'SMTP del server.
    Quarda qui. Ci sono vari problemi simili al tuo. Vedi se riesci a risolvere.
    Di solito problemi così radicali sono dati o dal server o dal gestore della posta.
    Ce l'ho fatta! - ItalianPixel -

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    126
    Grazie ancora portapipe.
    Interessante ed illuminante il link che mi hai suggerito.
    In effetti il problema risiede sui gestori di posta destinatari del contenuto del form.
    Ho risolto cambiando indirizzo mail.

    Grazie a tutti

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.