formulario - mail php localhost
Enviar correo lleva mucho tiempo en localhost (5)
A menos que conozca bien a Sendmail, es probable que esté fuera de la instalación de algún otro MTA. ssmtpd
ya fue sugerido en otra respuesta; Una opción común es Posfix.
Estoy usando Ubuntu. Instalé sendmail en mi host local usando el siguiente comando
sudo apt-get install sendmail
Ahora me gustaría verificar si el correo se envía desde mi host local usando el siguiente código php.
<?php
$to = "[email protected]";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "[email protected]";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>
Cuando ejecuto el código, toma mucho tiempo y finalmente repite el mensaje como correo enviado. ¿Hay alguna posibilidad de arreglar esto?
Edite el archivo /etc/hosts
y asegúrese de que la primera línea sea la siguiente:
127.0.0.1 localhost.localdomain localhost myhostname
Edite el archivo de configuración de sendmail
( /etc/mail/sendmail.cf
en Ubuntu) y elimine el comentario de la line #O
:
O HostsFile = / etc / hosts
Reinicie la computadora o ejecute sudo service sendmail restart
.
La computadora debería arrancar mucho más rápido ahora y la función mail()
debería regresar casi inmediatamente.
SIN EMBARGO , los correos electrónicos no se enviarán a menos que siga el paso 5.
Debe usar la opción sendmail -f
cuando use la función de correo.
Por ejemplo:
mail(''[email protected]'', ''the subject'', ''the message'', null, ''[email protected]'');
El retraso suele indicar un tiempo de espera de DNS. ¿Está su máquina configurada con entradas de DNS adecuadas? Intentaría hacer una prueba utilizando el correo en la línea de comandos ya que esto aislaría el problema.
Esta respuesta me ayudó a https://serverfault.com/a/221894/186680
Postfix y sendmail donde se instaló. Eliminado sendmail Yum remove sendmail
Sé que esta pregunta ya ha sido respondida, pero estoy publicando esto con la esperanza de que pueda ayudar a alguien más a buscar una solución diferente para este problema.
Para mí, solo necesitaba colocar el Nombre de dominio completo (FQDN) de mi servidor en /etc/mailname
. Por ejemplo: server.example.com
.
Reinicie Sendmail para aplicar los cambios.
$ sudo service sendmail restart