ene
30
2013

Configurar Elastix para enviar correo desde una cuenta en otro servidor

Sobre Email

Hola amigos:

Hoy vamos a ver cómo configuramos un Elastix para que envíe correo electrónico a través de otros servidores sin que use su servicio de entrega interno. Esto porque habrá ocasiones en donde necesitamos que los correos lleguen de una cuenta de correo del dominio corporativo o bien de otra cuenta de correo que no está hospedada en nuestro Elastix. Hay mucha gente a la que se le hace difícil configurar el postfix para actual como un mero relay para con otros servidores, sobre todo porque los spammers han hecho que la seguridad en e-mails sea brutal.

No es código oficial

De hecho no usamos las prestaciones que vienen por default en el sistema, lo que vamos a hacer es ponerle nuestro propio programita de envío de mensajes vía SMTP. El sistema no tiene problemas en su uso y queda muy estable, pero no es una guía oficial o código proveído por Elastix.

Manos a la obra

Dicho lo anterior, lo primero que tenemos que hacer es descargar el siguiente archivo. Lo guardaremos en la carpeta /usr/local/bin para recordar que es un pedazo de código que pusimos nosotros en nuestro sistema.

cd /usr/local/bin

wget http://liberatech.mx/archivos/mailer.py.tar.gz

Tendremos que descomprimir el archivo Tarball, sólo trae dos archivos, el mailer.py y el test.txt sin subcarpetas.

tar xzvf mailer.py.tar.gz

Ahora cambiemos los permisos para que pueda ser ejecutado.

chmod 755 /usr/local/bin/mailer.py

Bajar requisitos

El script está desarrollado en python, por eso su nombre, y requeriremos descargar la versión 2.6 del lenguaje para que opere sin problemas. Lo podemos instalar utilizando yum.

yum install python26

Adecuar parámetros

Ahora tendremos que editar el contenido de mailer.py a los valores de nuestro servidor de correo, para esto es necesario que tengas los siguientes datos a la mano:

  1. Servidor al que te conectarás: Por lo general smtp.midominio.com
  2. Nombre de usuario: Completito como se debe de enviar, en algunos hostings el nombre de usuario puede ser “miusuario“, en otros puede ser: “miusuario+midominio.com” y en otros puede ser: “miusuario@midominio.com“.
  3. Contraseña.
  4. Puerto de conexión: 25 para conexión tradicional (poco utilizado) y 465 para conexión segura.
  5. Forma de autenticación: Varía según tu hosting, pero hay varios métodos como el plano, el tls plano, el ssl, o bien, ssl con tls.

Es necesario abrir el script mailer.py con un editor de textos y cambiar los siguientes valores en la parte superior del archivo dentro de las comillas:

HOST=”mail.hostname.com” << Reemplazar por smtp.midominio.com.

USERNAME=”miusuario@midominio.com” << Colocar tu usuario completo.

PASSWORD=”password” << El password

PORT=25  #The standard ports are 25 or 465 << Poner tu puerto

SMTP_TYPE=”PLAIN” # PLAIN OR SSL OR PLAINTLS OR SSLTLS << Poner el tipo de autenticación a utilizar.

¿Servirá?

Bien ahora tendremos que probar este script para asegurarnos que no exista algún problema. Para esto tenemos un archivo llamado test.txt, que no es otra cosa mas que un correo en texto plano que usaremos para probar. Para probar tendrás que seguir los siguientes pasos:

  1. Abrir el archivo test.txt con un editor de textos.
  2. Cambiar la primera línea  por una fecha actual. Date:
  3. Cambiar el remitente por el correo que estás usando en el script mailer.py.  From:
  4. Cambiar el destinatario por un correo a donde quieres que te llegue la prueba. To:
  5. Si gustas también puedes cambiar el subject o el contenido, pero eso será meramente estético.
  6. Enviar el correo a través del script mailer.py con la siguiente línea:

cat test.txt | ./mailer.py

Si todo sale bien verás en pantalla cómo se realiza la negociación de envío del correo con el servidor. En caso contrario, verás una serie de errores, normalmente en este lenguaje de programación el error que más importa es el último. Ponle atención y corrige lo que te haga falta.

 

Configuremos Elastix

Todas las versiones

Para configurar el envío de correo electrónico de asterisk a través de nuestro nuevo script tendremos que editar el archivo /etc/asterisk/vm_general.inc y agregar o descomentar la siguiente línea:

mailcmd=/usr/local/bin/mailer.py

También debemos de indicarle que firme sus correos con el mail que tenemos planeado para usar como remitentes: “miuser@midominio.com”

serveremail=miuser@midominio.com

Versión Elastix 1.6.2-37 y superiores

En estas nuevas versiones addicionalmente tendremos que descomentar o escribir las siguientes líneas:

pollmailboxes=yes

pollfreq=30

¡Listo!

Si únicamente quieres enviar los mensajes de voz que reciben los usuarios a correo electrónico, ya no necesitas nada más. Simplemente recargar asterisk o los módulos responsables del voicemail y estarás listo para comenzar a recibir los mensajes de voz.

 

¿Y si también quiero que los faxes se manden?

Bien, esa es otra historia, Elastix está utilizando una biblioteca de php para poder realizar el envío de correos de los faxes recibidos, y se puede alterar igual que como hicimos con Asterisk para poder usar nuestro script. Nos tomará unos pocos minutos más y tendrás que poner mucha atención en la versión de Elastix que estás utilizando, pero creo que vale la pena.

Elastix versión 1.6

  • Editar el archivo /var/spool/hylafax/bin/includes/functions.php
  • Ahora busca la función enviar_mail_adjunto() y justo debajo de la línea $mail=new PHPMailer(); deberás escribir la siguiente:

$mail->IsQmail();

  • Editar el archivo /var/spool/hylafax/bin/includes/phpmailer/class.phpmailer.php
  • Buscar la función IsQmail(), y encuentra la línea que asigna el valor a sendmail. Deberás de cambiarla por la siguiente:

sendmail=”/usr/local/bin/mailer.py”;

Elastix versión 2.2.0 y superiores

  • Edita el archivo /var/www/html/libs/phpmailer/class.phpmailer.php
  • Reemplaza el método IsQmail() por el siguiente:

public function IsQmail() {

$this->Mailer = ‘sendmail’;

$this->Sendmail = ‘/usr/local/bin/mailer.py’;

}

  • Búsca la línea que comienza con “public $Mailer =” y deberás reemplazarla con la siguiente:  (Está al principio del archivo).

public $Mailer            = ‘sendmail’;

  • Búsca la línea que comiena con “public $Sendmail =” y deberás reemplazarla con la siguiente: (Está muy cerca de la línea anterior).

public $Sendmail          = ‘/usr/local/bin/mailer.py’;

Et voila! C’est tout!

A recibir los correos como Dios manda y con la validación de certificados y passwords correspondientes. :-D

Espero que les sea de mucha utilidad!

Entradas Relacionadas

Autor: TiendaIP.mx Infraestructura tecnológica a un clic de distancia

Infraestructura tecnológica a un clic de distancia... Tienda en línea donde encontrarás la mejor solución de telefonía IP, servidores, conmutadores analógicos y digitales, controles de acceso y soluciones de seguridad y CCTV.

Comentarios cerrados.

Facebook

Anuncios patrocinados

Twitter

Anuncios patrocinados