Visualizzazione risultati 1 fino 4 di 4

Discussione: mail() restituisce TRUE ma non invia la mail

  1. #1
    afepgroup non è connesso Neofita
    Data registrazione
    18-10-2014
    Messaggi
    5

    Predefinito mail() restituisce TRUE ma non invia la mail

    Ciao a tutti ho un problema con la funzione mail() di PHP; la funzione in questione restituisce TRUE (quindi dovrebbe aver inviato la mail alla mia casella di posta elettronica), ma la mail non arriva. Il fatto strano è che fino a ieri inviava regolarmente la mail adesso il form ha smesso di funzionare. Ho provato con lo script di test di altervista, cambiare indirizzo di posta a cui inviare, controllore gli spam ma nulla.
    posto il codice ma non credo che sia un errore nel codice poichè ho previsto che se mail() restituisce TRUE mi debba printare a video "mail inviata correttemente" e effettvamente mi printa a video il messaggio.

    codice php:
    Codice PHP:
    function invia_mail(){
    if(
    (isset(
    $_POST['testo_email']) && $_POST['testo_email'] != FALSE
    && $_POST['testo_email'] != 'MESSAGGIO'
    && $_POST['testo_email'] != 'Email inviata correttamente'
    && $_POST['testo_email'] != 'ops, errore invio'
    && $_POST['testo_email'] != 'Email non inviata, compila tutti i campi!')
    && (isset(
    $_POST['nome']) && $_POST['nome'] != FALSE && $_POST['nome'] != 'NOME')
    && (isset(
    $_POST['email']) && $_POST['email'] != FALSE && $_POST['email'] != 'EMAIL')
    && (isset(
    $_POST['cognome']) && $_POST['cognome'] != FALSE && $_POST['cognome'] != 'COGNOME')
    && (isset(
    $_POST['priv']) && $_POST['priv'] == "ok")){

    $mex_mail = "Nome: ".$_POST['nome']."Cognome: ".$_POST['cognome']."\n Email: ".$_POST['email']."\n Messaggio: ".$_POST['testo_email'];
    $test = mail("******@hotmail.it", "Mail inviata da afepgroup.com", $mex_mail);

    if(
    $test == TRUE){
    $_SESSION['mex_invio'] = "Email inviata correttamente";
    header("Location: /PAGINE/contatti.php");
    }
    else{
    $_SESSION['mex_invio'] = "ops, errore invio";
    header("Location: /PAGINE/contatti.php");
    }
    }
    else{
    $_SESSION['mex_invio'] = "Email non inviata, compila tutti i campi!";
    header("Location: /PAGINE/contatti.php");
    }
    }

    form html:
    Codice HTML:
    <form method="post" action="../SCRIPT/funzioni.php" enctype="multipart/form-data" >
            
                <textarea type="text" id="txt_testo_email" name="testo_email" onclick="if (this.value=='MESSAGGIO' || this.value == 'Email non inviata, compila tutti i campi!' || this.value =='ops, errore invio' || this.value =='Email inviata correttamente') this.value=''" onblur="if (this.value=='') this.value='MESSAGGIO';"><?php 
    			if(isset($_SESSION['mex_invio'])){
    				echo $_SESSION['mex_invio'];
    				unset($_SESSION['mex_invio']);
    			}
    			else{
    				echo "MESSAGGIO";
    			}?></textarea>
                <input type="text"  id="txt_nome" name="nome" value="NOME" onclick="if (this.value=='NOME') this.value=''" onblur="if (this.value=='') this.value='NOME';"/>
                <input type="text"  id="txt_cognome" name="cognome" value="CONGNOME" onclick="if (this.value=='CONGNOME') this.value=''" onblur="if (this.value=='') this.value='CONGNOME';"/>
                <input  type="text" id="txt_email" name="email" value="EMAIL" onclick="if (this.value=='EMAIL') this.value=''" onblur="if (this.value=='') this.value='EMAIL';" />
                
                <label id="privacy">
                	<label id="privacy_hover">
                    	<input type="checkbox" id="check" name="priv" value="ok" onClick="cambia_colore();"/>
                    </label>
                </label>
                <p id="privacy_txt">PROCEDENDO CON LA COMPILAZIONE E CON L'INVIO DI QUESTO MODULO, LEI ACCONSENTE AL TRATTAMENTO DEI DATI PERSONALI DA LAI FORNITI PER LA FINALITA' E NEI LIMITI INDICATI DA <em>QUESTA INFORMATIVA</em>, AI SENSI E PER GLI EFFETTI DELL'ART 13 DEL D.LGS. 196/03.</p>
                
               <input id="puls_invia" type="submit" value="INVIA" name="invia_dati"/>
            </form>
    questa è la pagina a cui sto lavorando http://afepgroup.altervista.org/PAGINE/contatti.php
    Grazie in anticipo per la pazienza
    Ultima modifica di afepgroup : 23-11-2014 alle ore 19.46.50

  2. #2
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Hai controllato nelle caselle di SPAM o a spedire ad un indirizzo e-mail diverso?

    Prova così:

    Codice PHP:
    mail("******@hotmail.it", "Mail inviata da afepgroup.com", $mex_mail, "From: afepgroup@altervista.org");
    Apprezzi l'aiuto? Offrimi un caffè!

  3. #3
    afepgroup non è connesso Neofita
    Data registrazione
    18-10-2014
    Messaggi
    5

    Predefinito

    Ho risolto. La mail bloccava i messaggi considerandoli spam, ma al posto di metterli in una cartella qualsiasi (spam o cestino o bho) le cancellava proprio in modo irreversibile, quindi era come se non arrivassero. Ho risolto mettendo la mail da cui arrivavano (apche@nome_sito.altervista.org) nella safe list address di outlock hotmail.
    NOTA: probabilmente anche yahoo e gmail hanno lo stesso problema poichè non mi arrivavano pure lì. Comunque tutto è bene quel che finisce bene. Grazie per la disponibilità!

  4. #4
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Figurati. Tu comunque prova sempre ad inserire anche il campo "From".
    Apprezzi l'aiuto? Offrimi un caffè!

Regole di scrittura

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