Lo primero es ingresar a main.cf el nombre del host (
$myhostname), el dominio (
$mydomain). Networks se usa para indicarle a Postfix que maquinas, distinguidas por IP o direccion son consideradas locales y pueden usar al servidor de correo (
MAILSVR en adelante) para envios. Networks puede ser una colección de Ips o una clase completa.
Por ejemplo, nuestro MAILSVR se llama
foo1.bar.com y el dominio se llama bar.com, modificamos las siguientes lineas en main.cf:
myhostname = foo1.bar.com
mydomain=bar.com
Lo siguiente es indicar si se quiere enmascarar las direcciones de correo. Esto es para que usuarios que pertenezcan a distintos subdominios aparezcan que son enviados desde un mismo dominio (bar.com). Esto es solamente usado si se tiene un dominio con distintas maquinas. El valor por defecto es
$mydomain
myorigin = $myhostname
myorigin = $mydomain
El parametro
mydestination especifica que dominios entregar localmente, en vez de enviarlo a otras maquinas. El valor por defecto es entregarlo al mismo MAILSVR. Puede especificarse ninguno o varios dominios y tablas de lookup con separaciones por espacios o comas.
mydestination = $myhostname localhost.$mydomain
mydestination = $myhostname $mydomain
mydestination = $myhostname www.$mydomain ftp.$mydomain
Precaucion : siempre agregar $myhostname y localhost.$mydomain para evitar loops de entregas de correo.
Generalmente los mails rebotan. Algunas veces, algunos mails que no rebotan simplemente no son entregados. Para ello, existe un usuario,
postmaster que a quien llegan los correos no entregados. Generalmente llegan aquellos correos con un gran debug con errores.
Para saber por que no se entrego correo, la directiva
notify_classes indica el nivel de error a notificar. Los valores que puede tener son
- bounce : envia a postmaster copias de los correos no entregados, pero estas copias son modificadas para proteger la privacidad del mensaje.
- 2bounce : envia dos copias del mail que rebota
- policy: informa a postmaster las peticiones rechazadas por politicas UCE de otros servidores. Llega una copia de la transaccion
- protocol : informa a postmaster cualquier error de protocolos, cliente o servidor, o intentos de algun cliente de ejecutar comandos no implementados. Se recibe una copia de la transaccion completa
- resource : informa a postmaster de los mail no entregados por algun problema de recursos (errores read/write, queue, etc)
- software : informa a postmaster de problemas de software
Cualquiera de estas opciones son combinables.
notify_clases = resource, software
La directiva
mynetworks permite que una red se considere local para Postfix. Esto es para distinguir entre maquinas conocidas de las extrañas (fuera de la red). Las maquinas consideradas como locales pueden usar a MAILSVR como un open relay incluso.
Puede configurarse una clase A, B o C, dependiendo de la cantidad de maquinas.
mynetworks = 192.168.1.0/28, 127.0.0.0/8
El parametro
inet_interfaces indica que interfaces de red debe escuchar MAILSVR. Los mails enviados a user@direccion_de_red seran entregados localmente, y direccionados a un dominio que este listado en
$mydestination.
El valor por defecto es all (todas las interfaces). Si se tienen interfaces virtuales, se debe indicar cuales de las interfaces escuchar.
inet_interfaces = all
inet_interfaces = virtual.host.name
# dominio virtual
inet_interfaces = $myhostname localhost.$mydomain
# mailer no virtual
La opcion
relay_domains restringe los dominios donde los clientes usan a MAILSVR para enviar correo (relay) o que destinos va a servir MAILSVR. Por defecto, Postfix relega (relay) correo a: clientes confiables que su direccion esta en
$mynetworks clientes confiables que esten en
$relay_domains o algun subdominio clientes no confiables los cuales el destino sea
$relay_domains o algun subdominio de el.
Postfix ademas acepta correo para:
destinos que esten en $inet_interfaces
destinos que esten en $mydestination
destinos que esten en $virtual_maps
relay_domains = $mydestination