Domanda

Sto usando il modulo qui sotto. Sto usando la pagina contact.php per visualizzare il modulo e inviare il modulo. I Convalida di forma e dice di posta elettronica inviati, ma quando posso controllare l'e-mail non mostra.

PHP:

         <?php
          function spamcheck($field)
           {
         //filter_var() sanitizes the e-mail
      //address using FILTER_SANITIZE_EMAIL
       $field=filter_var($field, FILTER_SANITIZE_EMAIL);

       //filter_var() validates the e-mail
      //address using FILTER_VALIDATE_EMAIL
        if(filter_var($field, FILTER_VALIDATE_EMAIL))
          {
         return TRUE;
            }
         else
        {
         return FALSE;
             }
         }

          if (isset($_REQUEST['email']))
           {//if "email" is filled out, proceed

             //check if the email address is invalid
           $mailcheck = spamcheck($_REQUEST['email']);
           if ($mailcheck==FALSE)
            {
               echo "Invalid input";
                 }
            else
          {//send email
         $email = $_REQUEST['email'] ;
          $subject = $_REQUEST['subject'] ;
         $message = $_REQUEST['message'] ;
        mail("me@mysite.com", "Subject: $subject",
         $message, "From: $email" );
        echo "Thank you for using our mail form";
           }
         }
        else
         {//if "email" is not filled out, display the form
         echo "<form method='post' action='contact.php'>
        Email: <input name='email' type='text' /><br />
        Subject: <input name='subject' type='text' /><br />
         Message:<br />
      <textarea name='message' rows='15' cols='40'>
      </textarea><br />
       <input type='submit' />
      </form>";
        }
          ?>
È stato utile?

Soluzione

Controlla il registro php. Forse è non fallire perché non dispone di un client SMTP non configurato nel vostro app o in PHP da utilizzare quando si cerca di inviare messaggi.

Altri suggerimenti

Nel modulo, quando i 'grazie' visualizzato il messaggio significa che la funzione di posta è stato eseguito, non che è riuscito. la funzione php posta elettronica restituisce true quando riesce e falso othwerwise. La prego di provare qualcosa di simile:

if(mail("me@mysite.com", "Subject: $subject",$message, "From: $email")){
echo "Thank you for using our mail form";
}else{
echo "hmm... seems the mail cannot be sent";
}

è anche la funzione di stampa consentito nel php.ini?

Prova a inviare la posta "da" un indirizzo che hai sul tuoi contatti. Sei sicuro che il tuo account di posta elettronica accetta queste email spoofing? Gmail invia le email provenienti da indirizzi php non nel vostro elenco di contatti per lo spam. Cercate di prova su un account di posta elettronica diverso. Vale la pena il colpo.

Un altro test è possibile eseguire sta usando un avviso per recuperare il ritorno mail (), per verificare se si tratta di vero o falso ..

alert(mail(hey@joe.jh, subject, message, email));
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top