Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di medorex
    Registrato dal
    Apr 2002
    Messaggi
    252

    script invio form mail che non vuole @yahoo.com

    Ciao a tutti, qualcuno riesce a dirmi xche se nella form inserisco come variabile $email un qualsiasi indirizzo @yahoo.com non invia nulla mentre qualsiasi altro dominio, anche yahoo.it funziona?
    Codice PHP:
    <?php
    function is_valid_email($vemail) {
        
    $result TRUE;
        if(!
    preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/"$vemail)) {
        
    $result FALSE;
        }
        return 
    $result;
    }

    function 
    pretty_var_export($array) {
        
    $result preg_replace('/\'/'''var_export($arraytrue));
        
    $result preg_replace('/^array.*/'"\n"$result);
        
    $result preg_replace('/,[^a-zA-Z0-9]*$/'"\n"$result);
        
    $result preg_replace('/\)$/'''$result);
        return 
    $result;
    }

    $name $_REQUEST['name'];
    $email $_REQUEST['email'];
    $confirm_email $_REQUEST['confirm_email'];

    if(
    $email == $confirm_email && is_valid_email($email) && $name) {

        
    //send email
        
    $email $_REQUEST['email'] ;
        
    $name $_REQUEST['name'] ;
        
    $phone $_REQUEST['phone'];
        
    $find $_REQUEST['find'];
        
    $message "Phone: ".$phone."\n\nHow did you find us? ".$find."\n\n".$_REQUEST['message'] ;
        
    $recievers_email "__@__";

        
    $subject "Contact Form";
            
        
    mail($recievers_email"$subject",
        
    $message"From:" $email);
        echo 
    "<p class='form_success'>Message sent! Thank you!</p><p class='form_success_sub'>We'll reply as soon as possible.</p>";
    }
    else
    {
        
    //if "email" is not filled out, display the form
        
    if(!is_valid_email($_REQUEST['email']))
        {
            echo 
    "<p class='form_error'>Please, insert a valid email address.</p>";                           
        }
        else if(
    $_REQUEST['name'] == '')
        {
            echo 
    "<p class='form_error'>Please, write your name.</p>";
        }
        else if(
    $_REQUEST['message'] == '')
        {
            echo 
    "<p class='form_error'>Please, leave your message.</p>";
        }
    }
    ?>
    funzionando con gli altri immagino sia un qualche controllo in piu che fa yahoo.com avete suggerimenti?
    Grazie, Medo
    Ultima modifica di medorex; 05-05-2014 a 17:03
    Ma quando impareremo mai ??

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    9
    Forse questo ti potrebbe essere utile:

    http://www.webmasterworld.com/php/3859847.htm

  3. #3
    Utente di HTML.it L'avatar di medorex
    Registrato dal
    Apr 2002
    Messaggi
    252
    Grazie Jo ma in realtà il quello che suggeriscono lo faccio gia qui:
    $message, "From:" . $email);
    Ma quando impareremo mai ??

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    9
    Hmmm non saprei.... Hai provato a controllare che l'email esista e controllare nella casella spam dell'email?

  5. #5
    Utente di HTML.it L'avatar di medorex
    Registrato dal
    Apr 2002
    Messaggi
    252
    si purtroppo la mail esiste e in spam il vuoto assoluto
    Ma quando impareremo mai ??

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ti mancano anche altri header, come per esempio il reply-to.
    Ne mancano anche altri, ma a memoria non li ricordo, fa una ricerca per vedere quali siano gli header che si possono impostare per le email e cerca di compilarli tutti perché i servizi email (come appunto yahoo) controllano tali header e se alcuni mancano interpretano l'email come non leggittima e si regolano di conseguenza (spam o direttamente cestinata).

  7. #7
    Utente di HTML.it L'avatar di medorex
    Registrato dal
    Apr 2002
    Messaggi
    252
    Grazie Al, strada gia tentata seguendo pedissequamente la guida online
    http://php.net/manual/en/function.mail.php
    ho provato con gli array ma anche senza
    Codice PHP:
        $subject "Contact Form";
        
    $headers   = array();
    $headers[] = "MIME-Version: 1.0";
    $headers[] = "Content-type: text/plain; charset=iso-8859-1";
    $headers[] = "From: _ <_@yahoo.com>";
    $headers[] = "Bcc: _ <_@yahoo.com>";
    $headers[] = "Reply-To: _ <_@yahoo.com>";
    $headers[] = "Subject: {$subject}";
    $headers[] = "X-Mailer: PHP/".phpversion();
        
    mail($recievers_email$subject$messageimplode("\r\n"$headers)); 
    ma yahoo se ne frega altamente, del resto gmail e live funzionano anche senza gli headers addizionali xche sto sfigato no?
    Ultima modifica di medorex; 06-05-2014 a 13:18
    Ma quando impareremo mai ??

  8. #8
    Utente di HTML.it L'avatar di medorex
    Registrato dal
    Apr 2002
    Messaggi
    252
    Per completezza, lo script è corretto, è l' hosting che non permette , non pensavo potessero esistere limitazioni anche per una form-mail in php della minkia mia!!
    grazie a tutti comunque!!
    Ma quando impareremo mai ??

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    E' proprio nelle specifiche dell'hosting? Oppure ci sei arrivato provando da un altro hosting?
    Potrebbe essere che dall'hosting dove hai il sito sia partito in passato un sacco di spam e il loro mailserver sia stato messo in qualche blaklist.

  10. #10
    Utente di HTML.it L'avatar di medorex
    Registrato dal
    Apr 2002
    Messaggi
    252
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    E' proprio nelle specifiche dell'hosting?
    Magari fosse stato nelle specifiche, avrei risparmiato un sacco di tempo e prove, l' ho trovato nelle faq dell' hosting e a quel punto per sicurezza (mi sembrava troppo strano) ho provato lo script su un' altro hosting e indovina? Che pezzenti questi oh, fortuna che non l' ho comprato io!
    Ma quando impareremo mai ??

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.