Pregunta

Estoy utilizando el siguiente formulario. Estoy usando la página, contact.php para mostrar el formulario y enviar el formulario. Los valida de forma y dice enviado de correo electrónico, pero cuando puedo comprobar el correo electrónico que no se vea.

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>";
        }
          ?>
¿Fue útil?

Solución

Compruebe el registro de php. Tal vez no fallar , ya que no tiene un cliente SMTP configurado ni en su aplicación o en PHP para ser utilizado cuando se trata de enviar correos.

Otros consejos

En su forma cuando las 'gracias' aparece el mensaje significa que la función de correo ha sido ejecutado, no es que tuvo éxito. la función de correo php devuelve verdadero cuando tiene éxito y falso othwerwise. Podría, por favor intente algo como:

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";
}

También es la función de correo permitido en el php.ini?

Trate de enviar correo "de" una dirección que tiene en sus contactos. ¿Está seguro de que su cuenta de correo electrónico acepta estos emails falsos? Gmail envía los correos electrónicos php desde direcciones no en la lista de contactos de correo no deseado. Trate de prueba en una cuenta de correo electrónico diferente. Vale la pena el tiro.

Otra prueba se puede ejecutar utilizando una alerta para recuperar el retorno de correo (), para comprobar si se trata de verdadero o falso ..

alert(mail(hey@joe.jh, subject, message, email));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top