Configurar el servidor ubuntu para enviar correo ()


40

Intenté buscar mucho, pero no pude encontrar cómo configurar realmente un servidor ubuntu, para poder enviar correos a través de php usando la función mail () en php.

Tengo apache2, mysql y php5 instalados en mi servidor.

Gracias.

Respuestas:


45

También estoy de acuerdo en que faltan tutoriales para las personas que solo necesitan un script para enviar, por ejemplo, correos electrónicos de error, y no necesitan un servidor de correo completo.

Primero, si postfix aún no está instalado, haga lo siguiente:

sudo apt-get install postfix

Se presenta con un par de preguntas. Para el primero elegí "sitio de Internet"; para una máquina detrás de un firewall, podría elegir smarthost en su lugar. Para la segunda pregunta, el valor predeterminado es el nombre de la máquina; Agregué un nombre de dominio que controlo (para poder configurar el DNS más adelante, si es necesario).

En este punto, debería poder usar "correo" desde la línea de comandos para enviar una prueba. (Por lo general , primero sigo las instrucciones en http://ubuntuforums.org/showthread.php?t=38429 , de lo contrario, tengo que usar el -findicador /usr/bin/sendmail. También me gusta crear /etc/aliasescon entradas para root y mi usuario normal, y luego ejecutar newaliases)

Luego, en /etc/php5/conf.d, cree un archivo (por ejemplo, mailconfig.ini) con estos contenidos:

sendmail_from = "me@example.com"
sendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"

Cambie me@example.com a su dirección de correo electrónico. Significan que todos los correos electrónicos parecerán enviados por usted, lo que puede ayudar a evitar que sean rechazados. Esto es suficiente para enviar correos electrónicos de error a un desarrollador.

(Las instrucciones anteriores se probaron en Ubuntu 10.04, 11.04, 11.10, 12.04)

PD Como se señaló en los comentarios, mailno siempre está ahí (por ejemplo, en Ubuntu 11.10 falta). En realidad, esto no afecta las instrucciones anteriores, solo necesita mailpara la prueba y puede usarlo sendmailigual de bien para eso. Pero mailtambién es útil para leer el correo electrónico, por lo que generalmente vale la pena instalarlo, con: apt-get install mailutils(como root).


1
¡Gracias! Esto funcionó perfectamente. Probado en Ubuntu 12.04 LTS x64.
Trent Scott, el

¡Esto resuelve encontrar usando NGINX también! Y PHP5-FPM
TheBlackBenzKid

1
Nota en mi host, la mailutilidad de línea de comandos no está instalada en una instalación limpia de Ubuntu, y la instalación de PostFix no lo instala. Intente sudo apt-get install mailutilsobtener el mailcomando, o use alternativas como Mutt, ossmtp
atravesó

Necesitaba semanas para darme sendmail_pathcuenta de que todo lo que tenía que hacer "para funcionar correctamente, comosendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"
Sliq

1
¡Finalmente! Una solución sencilla y directa. Funciona en Ubuntu 14.04.
Knyri


1

Siga el doloroso proceso de configurar un servidor de correo directamente en su servidor (postfix, etc.) o use una biblioteca que le permitirá conectarse directamente a un servidor smtp.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.