martes, 11 de septiembre de 2012

Ubuntu: Como enviar correos desde PHP usando una cuenta de gmail


Precondiciones:

  1. Una cuenta en gmail
  2. Obvio una máquina con Ubuntu
  3. Conexión a Internet

 Paso 1: Installar nuestro "Conector"

sudo apt-get install msmtp ca-certificates

Paso 2: Configurar msmtp

Creamo el archivo:

sudo vim /etc/msmtprc

Con el contenido, antes de guardar es necesario descomentar la linea 13 o la linea 15 según tu sistema operativo:

defaults
tls on
tls_starttls on
#EN UBUNTU
#tls_trust_file /etc/ssl/certs/ca-certificates.crt
#EN FEDORA 21
#tls_trust_file /etc/pki/tls/certs/ca-bundle.crt

account default
host smtp.gmail.com
port 587
auth on
user username@gmail.com
password yourpass
from username@gmail.com
logfile /var/log/msmtp.log


Paso 3: Decirle a PHP como mandar mails

Con el editor de tu preferencia edita el php.ini que se este cargando y asignamos la siguiente variable

sendmail_path = /usr/bin/msmtp -t

Paso 4: Crear la estructura para el log

Creamos el directorio, junto con sus permisos adecuados:

sudo mkdir /var/log/msmtp
sudo chown www-data:adm /var/log/msmtp

Damos de alta el log, creando el archivo:

sudo vim /etc/logrotate.d/msmtp

Con el contenido:

/var/log/msmtp/*.log {
  rotate 12
  monthly
  compress
  missingok
  notifempty
}

Listo, si todo salio bien ya podemos enviar correos desde ubuntu, y si no pues revisa, algo omitiste :D




2 comentarios:

  1. Muy bien, probado exitosamente en Debian.

    Solo como comentario, falto un detalle, reiniciar el servidor web para que tome los cambios :P

    Saludos.

    ResponderEliminar