Postfix en casa - Micro HOWTO

Esto quiere ser una mini guía para la correcta configuración de un Postfix como MTA en casa. Supone que:

  • usamos una única cuenta de correo -o al menos que todo el correo que enviamos sale con una única dirección
  • y que no recibimos correo externo (más que vía fetchmail, con lo que se convierte en correo local).

Básicamente, haré las siguiente suposiciones:

  • Tú máquina se llama bicho.mired.net
  • Tú dirección de correo externa es micorreo@servidor.net
  • Quieres que todo el correo de root y tal sea entregado a micorreo@servidor.net

Por tanto, tendrás que hacer las correcciones correspondientes para que funcione en una configuración diferente.

Esto está probado que funciona con el paquete debian postfix-1.1.11.0-2; supongo que funcionará con otras versiones, pero hazlo bajo tu responsabilidad.

Sólo incluyo los ficheros que, una vez adaptados a tu configuración de casa, tienen que sustituir a los que hay en /etc/postfix.

Recomiendo guardar una copia de los ficheros originales; sobre todo porque muchos de los comentarios que incluye el main.cf original han sido recortados...

Fichero /etc/postfix/main.cf

#
## Archivo de configuracion para el postfix en bicho para casa
#
# Es el típico ejemplo de configuración vía módem:
# - Conexión discontinua (le digo a mano cuándo tiene que enviar el mail)
# - La dirección de salida del mail es enmascarada
# - El correo para los usuarios locales es enviado localmente

##########################################################
#                                                        #
# NO CAMBIES MAS DE UN PAR DE VALORES CADA VEZ!!!!!!!!!! #
#                                                        #
##########################################################

#
# Valores importantes que cambian respecto de la conf por defecto
# del paquete debian 1.1.11-2
#

# NOMBRES DE MÁQUINA Y DOMINIO

# Cómo se llama mi bicho (debe funcionar el valor por defecto)
myhostname = bicho.mired.net
#myhostname = localhost.mired.net

# Cuál es mi dominio (debe funcionar el valor por defecto)
mydomain = mired.net

# ENVIO DE CORREO

# De dónde parece que viene el correo que envío desde aquí
# El valor por defecto de Debian GNU/Linux es /etc/mailname 
# Ante la duda, el dominio de tu dirección de correo

#myorigin = /etc/mailname
myorigin = servidor.net

# Máquina en la que hago relay (esta linea es prescindible)
#relayhost = smtp.navegalia.com

# Los mails no locales se quedan esperando a un sendmail -q
# Si teneis conexión continua -ADSL, cable o lo que sea- comentad esta
# linea
defer_transports = smtp

# El envío local lo hago con procmail
mailbox_command = /usr/bin/procmail

# Aliases; root debe estar aliaseado a un usuario local
# Los aliases generales del equipo
alias_maps = hash:/etc/aliases
# Los aliases específicos de postfix
alias_database = hash:/etc/aliases

# En virtual obligo a que root y micorreo sean los locales, 
# y no los de servidor.net, para que haga envío local
virtual_maps = hash:/etc/postfix/virtual

# En transport distingo el correo local del correo para servidor.net
transport_maps = hash:/etc/postfix/transport

# VARIOS

# Importante! En las configuraciones antiguas no está por defecto, 
# y en Debian GNU/Linux no funciona sin él
setgid_group = postdrop

# Poner lo de detrás de la arroba es trabajo del cliente, 
# no del server, pero si lo hago parece que no envía bien en local ¿?
#append_dot_mydomain = no

# Valores por defecto

# RUTAS

# Dónde se almacenan las colas (con permisos postfix.root drwxr-xr-x)
queue_directory = /var/spool/postfix

# Dónde están los comandos de apoyo postXXXX
command_directory = /usr/sbin

# Dónde están los daemons de postfix 
daemon_directory = /usr/lib/postfix

# Dónde están los programas de apoyo
program_directory = /usr/lib/postfix

# PROPIETARIOS DE COLAS Y PROCESOS

# Propietario de los daemons y de la cola.
# Debe ser un usuario dedicado, sin ningún otro permiso
mail_owner = postfix

# Para envío local (a fichero o a otro comando).
# No debe coincidir con mail_owner ni tener permisos
default_privs = nobody

# RECIBIENDO MAIL

# Direcciones IP en las que se recibe mail.
# Probablemente valga con localhost para un equipo solo (pendiente de prueba)
inet_interfaces = all
#inet_interfaces = $myhostname, localhost

# Dominios o máquinas para las cuales el correo se queda aquí
mydestination = $myhostname, localhost.$mydomain, localhost@localdomain, localhost, bicho

# CONFIANZA Y REENVIO DE CORREO

# Máquinas a las que dejamos que envíen correo a traves de este postfix
# Obviamente, sólo a este equipo

# Se puede poner de 2 formas
# mynetworks_style = host
mynetworks = 127.0.0.0/8

# Hacia que destino dejamos hacer relay al resto.
# De nuevo, sólo hacia esta máquina
#relay_domains = $mydestination

# CONTROLES DE CORREO BASURA  

# Si queremos que postfix descarte los correos provinientes de 
# gran_opurtunidad@elchollo.com, podemos poner en un fichero
# /^From: gran_oportunidad@elchollo.com/ REJECT
# y decirle aquí a postfix en qué fichero tiene que mirarlo
#header_checks = pcre:/mi/fichero/con/basura

# EL SALUDO DE POSTFIX

# Como se presenta postfix al mundo
smtpd_banner = $myhostname ESMTP $mail_name

# ENVÍO SIMULTANEO AL MISMO DESTINO

# para el correo local, no es bueno tener un número muy alto
local_destination_concurrency_limit = 2

# para el externo, no hay que pasarse...
default_destination_concurrency_limit = 10

Fichero /etc/postfix/virtual

root	root@bicho.mired.net
postmaster	postmaster@bicho.mired.net
seajob	seajob@bicho.mired.net

Fichero /etc/postfix/transport

servidor.net		smtp:
.servidor.net		smtp:
.mired.net     	local:
localhost.localdomain	local:
localhost		local:

Valid XHTML 1.1!