Enviar mail autenticado con servidor smtp desde asterisk

1,352 views
Skip to first unread message

grolo

unread,
Oct 13, 2008, 10:34:35 AM10/13/08
to asterisk-es
No es realmente un problema de Asterisk, pero como puede resultar
bastante útil y no lo he encontrado en la lista lo pongo por aquí. A
mí me surgió el problema porque los correos con los faxes adjuntos
entrantes y con los mensajes de voz no le llegaban al destinatario
(una cuenta de gmail) porque el origen no estaba autenticado.

La solución en su mayor parte está sacada de un foro, pero ya no tengo
el link. Si lo encontrais (por una referencia de brazileiros o algo
así, el mérito es de ellos). Allá va:


(Utilizo CentoS y como servidor de correo gmail)

Primero desinstalamos sendmail e instalamos postfix y mailx:

[root@centos]# rpm –e sendmail -nodeps
[root@centos]# yum install postfix mailx openssl ssl-cert

Editar el archivo /etc/postfix/main.cf 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

# configuracion 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 el archivo de auntentificacion para gmail /etc/postfix/
sasl_passwd con el contenido:

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

Crear el archivo de alias /etc/postfix/generic con el contenido:

“Nuestra IP” localhost.localdomain usu...@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.

Cambiamos permisos y ciframos los archivos:

[root@centos]# chmod 600 /etc/postfix/sasl_passwd
[root@centos]# chmod 600 /etc/postfix/generic
[root@centos]# postmap /etc/postfix/sasl_passwd
[root@centos]# postmap /etc/postfix/generic

Creamos los certificados:

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

Reiniciamos el servicio postfix:

[root@centos]# /etc/init.d/postfix reload

Hacemos la prueba:

[root@centos]# echo "contenido correo" | mail -s "asunto"
usu...@correo.com


Y debería llegar el correo sin problemas.

Saludos.
Reply all
Reply to author
Forward
0 new messages