Convivencia con un sistema de correo ajeno
C@mpus - @cademia Linux

Introducción 

En algunas ocasiones se presentan escenarios en los que existe un 2do sistema de correo electrónico como Microsoft Exchange por nombrar alguno y algunos usuarios prefieren utilizar este sobre el que se proporciona con LXE. Bajo este tipo de demanda se puede configura el MTA para redireccionar los mensajes de un destinatario a otro de un servidor ajeno.

De esta forma:

Mail from: Esta dirección electrónica esta protegida contra spambots. Es necesario activar Javascript para visualizarla
To:
Esta dirección electrónica esta protegida contra spambots. Es necesario activar Javascript para visualizarla

Se convertirá a:

Mail from: Esta dirección electrónica esta protegida contra spambots. Es necesario activar Javascript para visualizarla
To: Esta dirección electrónica esta protegida contra spambots. Es necesario activar Javascript para visualizarla


Configuración

Para añadir el soporte de usuarios virtuales se debe añadir una ou de nombre virtual de la siguiente forma (ver el procedimiento de configuración del directorio para más información):

OU base
dn: ou=Virtual,dc=linuxchange,dc=com
ou: Virtual
objectClass: top
objectClass: organizationalUnit
objectClass: domainRelatedObject
associatedDomain: linuxchange.com

Guardar en un archivo con nombre virtual.ldif y ejecutar el siguiente comando

ldapadd -x -c -D "cn=root,dc=linuxchange,dc=com" -W -f virtual.ldif


Configuración de usuarios virtuales 

La estructura de los usuarios virtuales a nivel de directorio son de la misma forma que los aliases pero a diferencia de que el usuario indicado en el atributo rfc822MailMember contiene una dirección de correo completa, esto es usuario@servidor.

Estructura de un usuario virtual
dn: cn=virtualuser,ou=Virtual,dc=linuxchange,dc=com
cn: virtualuser
objectClass: nisMailAlias
objectClass: top
rfc822MailMember: usuario.externo@otro.servidor

Configuración de Postfix 

Para activar los usuarios virtuales se tiene que añadir las siguientes líneas en el archivo main.cf comúnmente ubicado en el directorio /etc/postfix. La siguiente sintaxis está realizada con el formato antiguo de postfix, soportado en las versiónes 2.0 hasta 2.2.

/etc/postfix/main.cf (parcial, postfix 2.0-2.2+ estilo antiguo)
virtual_maps = ldap:ldapvirtual

ldapvirtual_server_host = 192.168.3.1
ldapvirtual_server_port = 389
ldapvirtual_search_base = ou=Virtual,dc=linuxchange,dc=com
ldapvirtual_timeout = 100
ldapvirtual_query_filter = (cn=%s)
ldapvirtual_result_attribute = rfc822MailMember
ldapvirtual_bind = no

Opcionalmente se puede utilizar también el nuevo estilo, el cual es recomendado para las versiónes de postfix 2.2 y superiores.

/etc/postfix/main.cf (parcial, postfix 2.2+ estilo nuevo)
virtual_alias_maps = ldap:/etc/postfix/ldap-virtuals.cf

La línea anterior indica que el archivo ldap-virtuals.cf contiene los parámetros sobre la conexión.  El contenido del archivo deberá ser el siguiente para el ejemplo actual.

/etc/postfix/ldap-virtuals.cf
server_host = 127.0.0.1
search_base = ou=Virtual,dc=linuxchange,dc=com
server_port = 389
timeout = 100
query_filter = cn=%s
result_attribute = rfc822MailMember
bind = no
scope = one
version = 2

Observece que independientemente del estilo elegido los parámetros son los mismos. 


Para hacer efectivo los cambios se tendrá que reiniciar el MTA con el comando service postfix restart