No recibir ningún correo electrónico

Hola, vi un tutorial de php en línea y no pude recibir ningún correo electrónico de este formulario de contacto y no pude entender dónde me equivoqué

<html>
  <head></head>
    <body>

        <?php 
            if(isset($_POST["submit"])){
                $email = $_POST['email'];
                $subject = $_POST['subject'];
                $message = $_POST['message'];
                mail("abcsojf@gmail.com",$subject, $message, "From:" . $email);
            }
        ?>

        <h1>Contact Us</h1>
        <form method="post" action="abc.html">
            <table align="center" style="color:#fff;">
                <tr><td style="color:black">Email:<input type="text" name="email" /></td></tr>
                <tr><td style="color:black">subject:<input type="text" name="subject" /></td></tr>
                <tr><td style="color:black">Message:<br>
                <textarea name="message" cols="40" rows="15">Type your message here</textarea>
                <input type="submit" name="submit" value="send" /></td></tr>
            </table>
        </form>
    </body>
</html>

preguntado el 29 de noviembre de 13 a las 11:11

¿Tu formulario se está publicando en un archivo HTML? -

¿Comprobó el valor de retorno de la mail ¿llamar? ¿Has mirado en la carpeta de spam? ¿Miró el registro de correo del host de envío? -

donde estas probando?? localhost o cualquier servidor alojado?? -

4 Respuestas

Sin embargo, debes cargar la página:

  • Un servidor web (Así que no file:/// URI)
  • con PHP instalado
  • con PHP configurado para procesar el archivo (servidores que procesan archivos con .html las extensiones con PHP son muy raras).

respondido 29 nov., 13:11

Y si está en Windows con una configuración de servidor SMTP válida en su PHP.ini - Abeja Oscura

Hay tres formas posibles de hacerlo funcionar. en el que tienes que seguir primero uno obligatorio.

1) Cambie el nombre de su archivo de abc.html -> abc.php y también verifique si PHP está disponible y funcionando en su host local/servidor alojado.

2) Cambie la etiqueta de su formulario a

<form name="mailform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> OR
<form name="mailform" method="post" action="">

para que sus datos publicados estén disponibles en la misma página.

3) En lugar de

if(isset($_POST["submit"])){

condición tratar de usar

if(isset($_POST["submit"]) && isset($_POST["email"]) && isset($_POST["subject"])){

con verificación de valor nulo. Esto garantizará la disponibilidad de datos en la función de correo. También intente extender la función de correo con los encabezados a continuación.

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers = 'From: '.$email . "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail("abcsojf@gmail.com",$subject, $message, $headers);

Siguiendo estos tres pasos, con suerte obtendrá el correo deseado.

respondido 29 nov., 13:12

Su código funcionará si hace las dos cosas siguientes:

  1. Dado que está enviando a la misma página, puede eliminar la parte de acción.

    <form method="post" action="">
    
  2. Guarde su página actual como un archivo .php.

tu página será abc.php

Ahora ejecute su página en el navegador y envíe el formulario.

pd: necesitaría tener apache ejecutándose con php instalado.

Puede verificar esto creando una nueva página con los siguientes contenidos:

<?php phpinfo();?>

Espero que esto tiene sentido.

respondido 29 nov., 13:11

Cambié como usted dijo y lo agregué a mi sitio web jhcsnagpur.com 1) haga clic en visionarios 2) haga clic en visionarios nuevamente - sainath

En primer lugar, el envío de correo a través de PHP con la configuración predeterminada requiere el servicio Sendmail instalado y configurado en el servidor. En servidores unix puedes comprobar /usr/spool/mail/username archivo, o /var/log/maillog para el registro de mail() "uso".

respondido 29 nov., 13:11

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.