El procedimiento que explico lo realicé utilizando todo "out of the box", así que debería ser de muy fácil mantenimiento (debian way).
Elementos de software que utilicé
Distribución: Debian Wheezy
Sendmail: 8.14.4-2
sasl2-bin: 2.1.25.dfsg1-4
libsasl2-2: 2.1.25.dfsg1-4
libsasl2-modules: 2.1.25.dfsg1-4
Nota: Si falta algún otro paquete, por favor decirlo. No recuerdo si sendmail ya instala las librerías sasl.
Configuración
- Hacer un respaldo del /etc/mail/sendmail.mc
- Editar el /etc/mail/sendmail.conf y colocar MSP_MODE="None"
- Editar el /etc/sendmail.mc y colocar toda la sección de "Default Mailer setup" al final del archivo.
- Añadir la siguiente sección antes de "Masquerading options"
dnl ###################################
dnl # Comienzo pruebas de gmail
dnl #
dnl #
dnl # Soporte para TLS (para pruebas de gmail)
dnl #
include(`/etc/mail/tls/starttls.m4')dnl
dnl #
dnl #
dnl #
define(`SMART_HOST',`smtp.gmail.com')dnl
define(`RELAY_MAILER_ARGS',`TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS',`TCP $h 587')dnl
FEATURE(`authinfo', `hash /etc/mail/client-info-gmail.db')dnl
define(`confAUTH_MECHANISMS',`EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl #
dnl #
dnl # Fin de pruebas de gmail
dnl ##################################
Nota: Cuidado al copiar esto ya que aveces las comillas se malinterpretan. Yo recomiendo copiar secciones del .mc y luego editarlas para evitar problemas. Dicho queda. - Editar el archivo (nuevo) /etc/mail/client-info-gmail y colocar la siguiente información:
AuthInfo:smtp.gmail.com "U:root" "I:usuario@gmail.com" "P:password" "M:LOGIN PLAIN"
AuthInfo:smtp.gmail.com:587 "U:root" "I:usuario@gmail.com" "P:password" “M:LOGIN PLAIN"
Nota: Cuidado al copiar las comillas dobles, mejor hacerlo a mano, sendmail puede no entenderlas bien y el servidor de gmail nos mostrará un error diciendo "530-5.5.1 Authentication Required".
Nota 2: Cada "AuthInfo" es una sola línea - Hacer el mapa con el siguiente comando:
makemap -r hash client-info-gmail.db < client-info-gmail - Asegurarse de que saslauthd está arrancado (si no, arrancarlo) y verificar que arranque en el inicio (update-rc.d saslauthd defaults).
- Ejecutar sendmailconfig y verificar que no salga ningún error.
- Ejecutar update-rc.d sendmail defaults para que arranque en el inicio.
Eso debería ser todo, solo queda probar.