- Registrado
- 9 Sep 2014
- Mensajes
- 268
- Reacciones
- 37
Cómo configurar el envío de emails desde
Asterisk
Es una pregunta bastante común y pese a que su respuesta es la misma, voy intentar dejarlo tan claro
como sea posible.
Asterisk es una aplicación, como cualquier otra que corra bajo Linux, y por lo tanto sigue una norma
que siguen todas las aplicaciones en Linux: Asterisk NO ENVIA EMAILS, si no que se comunica
con el servidor SMTP que tengamos instalado en nuestro sistema local y es este el que envía el
email. Incluso si queremos utilizar un servidor remoto con una cuenta, el procedimiento sigue siendo
el mismo.
Por este motivo, y por que todas las aplicaciones en linux funcionan prácticamente igual (apache,
pureftpd, syslog, etc...) suelen darle los emails que quieren enviar a una aplicación bastante
conocida: SendMail.
SendMail es un servidor de envío de emails (SMTP) y fue uno de los primeros y más avanzados
servidores de este tipo, pero su poca fiabilidad (demasiados bugs para los administradores de redes)
unido a su complejidad si queríamos configurar un servidor serio, hizo que apareciesen otros
servidores SMTP más ligeros, simples y rápidos que Sendmail.
No obstante, todos los sistemas continúan intentando enviar emails dejándolos a Sendmail y es por
esto por lo que los nuevos y más sencillos servidores SMTP utilizan un truco para hacerse pasar por
Sendmail y poder “suplantarlo”, esto es, crean un enlace simbólico en el sistema con el nombre
» Cómo configurar el envío de emails desde Asterisk :: SinoLogic :: Noticias y comen... Page 2 of 9
“sendmail”, de manera que cuando una aplicación intenta acceder a “sendmail”, realmente quien
contesta es esta aplicación.
Como ya he comentado, casi todas las aplicaciones que tienen la necesidad o la opción de enviar
emails utilizan el servidor SMTP local, esto ha hecho que muchas distribuciones, para facilitar la
configuración y envío de emails, instalen por defecto algunos sustitutos de sendmail como por
ejemplo exim o postfix son las más conocidas.
El principal problema de utilizar el servidor SMTP local es el proveedor: Debido al aumento de
correos SPAM, los proveedores y los servidores de correo que van a recepcionar tu email
comprobarán si realmente el servidor del que procede el email es realmente un servidor “oficial” o
bien un servidor que se dedica a enviar SPAM, y como el servidor local no es realmente un servidor
en toda regla (no tiene registros MX en el DNS de algún dominio, tiene una dirección IP dinámica, o
ha sido utilizado por otro spamer) es por lo que se aconseja encarecidamente utilizar una cuenta de
algún servidor de emails ya verificado y seguro.
Posiblemente, tras la instalación de nuestra distribución preferida, podremos enviar emails con el
comando:
echo “Prueba de email” |mail -s “Prueba de email” [email protected]
Pero cuando hayamos enviado varios de este tipo y empecemos a confiarnos, veremos como nuestro
cliente de correo empezará a considerarlo spam, o puede que ni llegue. Es entonces cuando
tendremos que configurar nuestro servidor SMTP local para que envíe los emails mediante una
cuenta autentificada.
Para el ejemplo de configuración voy a hacerlo con Exim (el servidor que viene por defecto con
Debian), quizá sea uno de los más sencillos de configurar y de manejar, aunque personalmente
siempre he preferido Qmail por ser mucho más seguro, no obstante, como nuestro objetivo no es
configurar un servidor de correos en toda regla, vamos a hacerlo con Exim (versión 4) que es la que
trae Debian (y Ubuntu) de serie.
Lo primero que tenemos que hacer es asegurarnos que lo tenemos instalado:
apt-get install exim4 exim4-config
Una vez que lo hayamos instalado, aparecerá una pantalla de configuración. Si no aparece, podremos
acceder a ella en cualquier momento ejecutando el comando:
dpkg-reconfigure exim4-config
¿Sencillo verdad?
Será entonces cuando nos pregunte por distintas opciones de configuración:
- ¿Quiere utilizar archivos separados para la configuración?
Respondemos SI
- ¿De qué forma queremos configurar nuestro servidor?
Respondemos “enviar por SMARTHOST, y recibir por SMTP o Fetchmail”
- Escriba el nombre del sistema:
Respondemos con nuestro dominio: miDominio.com
» Cómo configurar el envío de emails desde Asterisk :: SinoLogic :: Noticias y comen... Page 3 of 9
- Escriba la dirección IP desde donde va a atender las conexiones al SMTP:
Respondemos: 127.0.0.1
- Escriba otros servidores destino que el SMTP será aceptado:
Aquí no respondemos nada, lo dejamos en blanco.
- Sistemas a los que reenviar emails ?
No piques, esto también hay que dejarlo en blanco.
- Escribe el sistema que gestionará el correo saliente de este sistema:
(Aquí escribimos nuestro servidor SMTP remoto, por ejemplo...)
smtp.miDominio.com
Si queremos utilizar una cuenta de gmail, el servidor SMTP de gmail hay que especificarlo
junto con el puerto que va a utilizar, y sería esto: smtp.gmail.com::587 (ojo que lleva dos
simbolos de dos puntos antes del puerto)
- ¿Quiere ocultar el nombre local del sistema local del email saliente?
Pues NO.
- Quiere cachear las peticiones DNS para ahorrar ancho de banda?
Pues NO.
Bien, hasta ahora tenemos algunos parámetros básicos configurados, pero no hemos indicado el
usuario ni la contraseña con el que queremos autentificarnos para enviar emails. Si probásemos a
enviar emails, seguramente nuestro servidor remoto recibiría un email de un tal root@localhost y
nos lo rechazaría.
Vamos a configurar los datos importantes:
1o. - Editamos el archivo /etc/exim4/passwd.client y escribimos algo como esto:
smtp.miDominio.com:usuario:contraseña
En el caso de que queramos utilizar la cuenta de email, deberíamos poner algo como esto:
gmail-smtp.l.google.com:[email protected]:contraseña
*.google.com:[email protected]:contraseña
smtp.gmail.com:[email protected]:contraseña
De esta manera, sea cual sea el nombre del servidor SMTP que utilicemos en gmail, le enviaremos
los parámetros correctos y nos aceptará el envío.
2o.- Protegemos el archivo para que nadie tenga acceso a leer nuestros datos:
chown root:Debian-exim /etc/exim4/passwd.client
3o.- Si estamos configurando nuestra cuenta de Gmail, hay que indicarle (otra vez) que el envío debe
hacerlo por el puerto 587 en lugar del estandar (el 25), por lo que tendremos que editar el archivo:
/etc/exim4/conf.d/transport/30_exim4-config_remote_smtp_smarthost
y justo debajo de la línea que dice algo como: (hosts_try_auth...) añadir lo siguiente:
port=587
» Cómo configurar el envío de emails desde Asterisk :: SinoLogic :: Noticias y comen... Page 4 of 9
4o.- Por último, vamos a configurar nuestra identificación saliente:
echo “root@localhost: [email protected]” >> /etc/exim4/email-addresses
Y listo, lo último que nos queda es recargar la configuración:
ejecutamos: update-exim4.conf (es un comando
Y probamos a enviar un email como hemos hecho antes...
echo “Prueba de email” |mail -s “Prueba de email” [email protected]
y veremos cómo nos llega con el usuario y dominio correcto.
Bueno, parece más complicado de lo que realmente es. Una vez que se ha configurado unos cuantos
sistemas con esta técnica, se hace todo diréctamente y sin tener que recordar los pasitos.
Una vez tengamos esto hecho y podamos enviar emails con nuestra cuenta oficial, entonces
podremos recibir los emails que hayamos configurado en el buzón de voz de Asterisk, o incluso
nuestras alertas de arranque de asterisk o incluso enviar faxes mediante Hylafax,...
Asterisk
Es una pregunta bastante común y pese a que su respuesta es la misma, voy intentar dejarlo tan claro
como sea posible.
Asterisk es una aplicación, como cualquier otra que corra bajo Linux, y por lo tanto sigue una norma
que siguen todas las aplicaciones en Linux: Asterisk NO ENVIA EMAILS, si no que se comunica
con el servidor SMTP que tengamos instalado en nuestro sistema local y es este el que envía el
email. Incluso si queremos utilizar un servidor remoto con una cuenta, el procedimiento sigue siendo
el mismo.
Por este motivo, y por que todas las aplicaciones en linux funcionan prácticamente igual (apache,
pureftpd, syslog, etc...) suelen darle los emails que quieren enviar a una aplicación bastante
conocida: SendMail.
SendMail es un servidor de envío de emails (SMTP) y fue uno de los primeros y más avanzados
servidores de este tipo, pero su poca fiabilidad (demasiados bugs para los administradores de redes)
unido a su complejidad si queríamos configurar un servidor serio, hizo que apareciesen otros
servidores SMTP más ligeros, simples y rápidos que Sendmail.
No obstante, todos los sistemas continúan intentando enviar emails dejándolos a Sendmail y es por
esto por lo que los nuevos y más sencillos servidores SMTP utilizan un truco para hacerse pasar por
Sendmail y poder “suplantarlo”, esto es, crean un enlace simbólico en el sistema con el nombre
Debes estar registrado para ver los enlaces
27/04/2009» Cómo configurar el envío de emails desde Asterisk :: SinoLogic :: Noticias y comen... Page 2 of 9
“sendmail”, de manera que cuando una aplicación intenta acceder a “sendmail”, realmente quien
contesta es esta aplicación.
Como ya he comentado, casi todas las aplicaciones que tienen la necesidad o la opción de enviar
emails utilizan el servidor SMTP local, esto ha hecho que muchas distribuciones, para facilitar la
configuración y envío de emails, instalen por defecto algunos sustitutos de sendmail como por
ejemplo exim o postfix son las más conocidas.
El principal problema de utilizar el servidor SMTP local es el proveedor: Debido al aumento de
correos SPAM, los proveedores y los servidores de correo que van a recepcionar tu email
comprobarán si realmente el servidor del que procede el email es realmente un servidor “oficial” o
bien un servidor que se dedica a enviar SPAM, y como el servidor local no es realmente un servidor
en toda regla (no tiene registros MX en el DNS de algún dominio, tiene una dirección IP dinámica, o
ha sido utilizado por otro spamer) es por lo que se aconseja encarecidamente utilizar una cuenta de
algún servidor de emails ya verificado y seguro.
Posiblemente, tras la instalación de nuestra distribución preferida, podremos enviar emails con el
comando:
echo “Prueba de email” |mail -s “Prueba de email” [email protected]
Pero cuando hayamos enviado varios de este tipo y empecemos a confiarnos, veremos como nuestro
cliente de correo empezará a considerarlo spam, o puede que ni llegue. Es entonces cuando
tendremos que configurar nuestro servidor SMTP local para que envíe los emails mediante una
cuenta autentificada.
Para el ejemplo de configuración voy a hacerlo con Exim (el servidor que viene por defecto con
Debian), quizá sea uno de los más sencillos de configurar y de manejar, aunque personalmente
siempre he preferido Qmail por ser mucho más seguro, no obstante, como nuestro objetivo no es
configurar un servidor de correos en toda regla, vamos a hacerlo con Exim (versión 4) que es la que
trae Debian (y Ubuntu) de serie.
Lo primero que tenemos que hacer es asegurarnos que lo tenemos instalado:
apt-get install exim4 exim4-config
Una vez que lo hayamos instalado, aparecerá una pantalla de configuración. Si no aparece, podremos
acceder a ella en cualquier momento ejecutando el comando:
dpkg-reconfigure exim4-config
¿Sencillo verdad?
Será entonces cuando nos pregunte por distintas opciones de configuración:
- ¿Quiere utilizar archivos separados para la configuración?
Respondemos SI
- ¿De qué forma queremos configurar nuestro servidor?
Respondemos “enviar por SMARTHOST, y recibir por SMTP o Fetchmail”
- Escriba el nombre del sistema:
Respondemos con nuestro dominio: miDominio.com
Debes estar registrado para ver los enlaces
27/04/2009» Cómo configurar el envío de emails desde Asterisk :: SinoLogic :: Noticias y comen... Page 3 of 9
- Escriba la dirección IP desde donde va a atender las conexiones al SMTP:
Respondemos: 127.0.0.1
- Escriba otros servidores destino que el SMTP será aceptado:
Aquí no respondemos nada, lo dejamos en blanco.
- Sistemas a los que reenviar emails ?
No piques, esto también hay que dejarlo en blanco.
- Escribe el sistema que gestionará el correo saliente de este sistema:
(Aquí escribimos nuestro servidor SMTP remoto, por ejemplo...)
smtp.miDominio.com
Si queremos utilizar una cuenta de gmail, el servidor SMTP de gmail hay que especificarlo
junto con el puerto que va a utilizar, y sería esto: smtp.gmail.com::587 (ojo que lleva dos
simbolos de dos puntos antes del puerto)
- ¿Quiere ocultar el nombre local del sistema local del email saliente?
Pues NO.
- Quiere cachear las peticiones DNS para ahorrar ancho de banda?
Pues NO.
Bien, hasta ahora tenemos algunos parámetros básicos configurados, pero no hemos indicado el
usuario ni la contraseña con el que queremos autentificarnos para enviar emails. Si probásemos a
enviar emails, seguramente nuestro servidor remoto recibiría un email de un tal root@localhost y
nos lo rechazaría.
Vamos a configurar los datos importantes:
1o. - Editamos el archivo /etc/exim4/passwd.client y escribimos algo como esto:
smtp.miDominio.com:usuario:contraseña
En el caso de que queramos utilizar la cuenta de email, deberíamos poner algo como esto:
gmail-smtp.l.google.com:[email protected]:contraseña
*.google.com:[email protected]:contraseña
smtp.gmail.com:[email protected]:contraseña
De esta manera, sea cual sea el nombre del servidor SMTP que utilicemos en gmail, le enviaremos
los parámetros correctos y nos aceptará el envío.
2o.- Protegemos el archivo para que nadie tenga acceso a leer nuestros datos:
chown root:Debian-exim /etc/exim4/passwd.client
3o.- Si estamos configurando nuestra cuenta de Gmail, hay que indicarle (otra vez) que el envío debe
hacerlo por el puerto 587 en lugar del estandar (el 25), por lo que tendremos que editar el archivo:
/etc/exim4/conf.d/transport/30_exim4-config_remote_smtp_smarthost
y justo debajo de la línea que dice algo como: (hosts_try_auth...) añadir lo siguiente:
port=587
Debes estar registrado para ver los enlaces
27/04/2009» Cómo configurar el envío de emails desde Asterisk :: SinoLogic :: Noticias y comen... Page 4 of 9
4o.- Por último, vamos a configurar nuestra identificación saliente:
echo “root@localhost: [email protected]” >> /etc/exim4/email-addresses
Y listo, lo último que nos queda es recargar la configuración:
ejecutamos: update-exim4.conf (es un comando
Y probamos a enviar un email como hemos hecho antes...
echo “Prueba de email” |mail -s “Prueba de email” [email protected]
y veremos cómo nos llega con el usuario y dominio correcto.
Bueno, parece más complicado de lo que realmente es. Una vez que se ha configurado unos cuantos
sistemas con esta técnica, se hace todo diréctamente y sin tener que recordar los pasitos.
Una vez tengamos esto hecho y podamos enviar emails con nuestra cuenta oficial, entonces
podremos recibir los emails que hayamos configurado en el buzón de voz de Asterisk, o incluso
nuestras alertas de arranque de asterisk o incluso enviar faxes mediante Hylafax,...