servidor mail formulario forma enviar electrónico electronico desde correo con como php ubuntu sendmail

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.



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