Temas etiquetados como: ‘servidor correo’

Configurar postfix con gmail

1 Enero, 2010

Antes con instalar el paquete de postifx podías enviar desde tu máquina local correos a tu cuenta de e-mail, solían entrar en spam, por lo que indicándole a gmail que no era spam ya se podía hacer pruebas de desarrollo de envío de correos.

Ahora parece ser que no, por lo que comencé la búsqueda de un how to para solventar el problema y cómo no, nos encontramos con nuestro amigo @ZiTAL del que ya he mencionado un how to en este blog sobre la instalación de oci8 en debian. @ZiTAL es un debianita profundo ^_^ y siempre le podemos encontrar en la comunidad Debian-es investigando y ofreciendo el resultado de sus búsquedas. Los how to que suele publicar funcionan a la perfección, algo difícil de encontrar en comunidad hispana.

Una prueba de que es un debianita profundo es el tatuaje que luce en su pierna, y os puedo asegurar que esta imagen no es un foto-montaje, es auténtico.

Así que paso a citar la configuración, que aunque en su post menciona que lo está haciendo en un debian etch yo lo he seguido a la perfección para Ubuntu 9.10:

Instalación de paquetes:

apt-get install postfix mailx

Editar el archivo /etc/postfix/main.cf , borrar todo lo que pone y añadir estas entradas:

  # SMTP relayhost
  relayhost = [smtp.gmail.com]:587

  ## TLS Settings
  smtp_tls_loglevel = 1
  smtp_tls_CAfile = /etc/postfix/certs/CAcert.pem
  smtp_tls_cert_file = /etc/postfix/certs/mycert.pem
  smtp_tls_key_file = /etc/postfix/certs/mykey.pem
  smtp_use_tls = yes
  smtpd_tls_CAfile = /etc/postfix/certs/CAcert.pem
  smtpd_tls_cert_file = /etc/postfix/certs/mycert.pem
  smtpd_tls_key_file = /etc/postfix/certs/mykey.pem
  smtpd_tls_received_header = yes
  smtpd_use_tls = yes

  # configuracao tls
  smtp_use_tls = yes
  smtp_sasl_auth_enable = yes
  smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
  smtp_sasl_security_options = noanonymous
  smtp_sasl_tls_security_options = noanonymous

  # alias de mapeamento interno para externo
  smtp_generic_maps = hash:/etc/postfix/generic

Crear archivo de auntentificacion para gmail, /etc/postfix/sasl_passwd

[smtp.gmail.com]:587    usuario@gmail.com:contraseña

Creando archivo de alias, /etc/postfix/generic

root@localhost.localdomain	usuario@gmail.com

aqui tenemos que cambiar el localhost por el nombre de la maquina y el localdomain por el dominio local, lo podemos ver en /etc/hosts y tendremos una cosa asi:

...
nuestra_IP	nombrelocalhost.nombredominio	nombrelocalhost
...

cambiando permisos y cifrando los archivos:

chmod 600 /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/generic
postmap /etc/postfix/sasl_passwd
postmap /etc/postfix/generic

Creando los certificados:

mkdir /etc/postfix/certs/
cd /etc/postfix/certs/
cd certs
openssl dsaparam 1024 -out dsa1024.pem
openssl req -x509 -nodes -days 3650 -newkey dsa:dsa1024.pem -out mycert.pem -keyout mykey.pem
ln -s mycert.pem CAcert.pem
openssl req -x509 -new -days 3650 -key /etc/postfix/certs/mykey.pem -out /etc/postfix/certs/mycert.pem
rm dsa1024.pem

Reiniciando servicio postfix:

/etc/init.d/postfix reload

Probando:

echo "contenido coreeo" | mail -s "asunto" usuario@correo.com

Nota, yo tenia el openssl instalado de antes, si necesitais instalarlo:

apt-get install openssl ssl-cert

Enlace del hilo de esdebian.org