Servidor de correo: postfix
Por Paco Aldarias Raya
22 de marzo de 2007
Email: pacolinux arroba inicia punto es
Web: http://pagina.de/pacodebian
Con Linux Debian. En Valencia (Espa˜na)
El documento tiene version .html, y .pdf, cambiando en el navegador la parte
final podr´as acceder a ambos.
Este documento es de libre reproducci´on siempre que se cite su fuente.
Realizado con: LATEX
´Indice
1. Versiones
2. Introducci´on
3. Instalaci´on de postfix
4. Configuraci´on
5. El fichero de configuraci´on
6. Arranque y Parada
7. Logs
8. Como recoger el correo que nos envian
9. Ficheros de interes
9.1. El nombre del dominio . . . . . . . . . . . . . . . . . . . . . .
1
1
1
2
3
3
4
4
4
4
4
3 INSTALACI ´ON DE POSTFIX
5
5
5
6
7
7
7
8
9
9.2. El nombre de tu m´aquina . . . . . . . . . . . . . . . . . . . .
9.3. El nombre del host . . . . . . . . . . . . . . . . . . . . . . . .
10.Cola de correo
11.Postfix y cuotas
12.Autentificar usuario y contrase˜na: SASL
12.1. A˜nadiendo usuarios directamente . . . . . . . . . . . . . . . .
12.2. Usando un fichero de usario-contrase˜na . . . . . . . . . . . . .
12.3. Algunos consejos
. . . . . . . . . . . . . . . . . . . . . . . . .
13.Bibliograf´ıa
+
1. Versiones
19.3.03 Primera version v.1.0
2.
Introducci´on
Un servidor de correo permite:
Enviar correo al exterior. Servidor de correo saliente. (SMTP)
Recibir correo del exterior. Servidor de correo entrante (IMAP, POP,
Local)
Postfix permite el recibir correo y enviarlo al usuario de linux.
Este art´ıculo explica como enviar correo a cualquier direcci´on, y como recibir
correo local (es decir, que reciba el correo un usuario de linux). No se ver´a el
servidor de correo IMAP o POP.
3.
Instalaci´on de postfix
Como root hay q hacer todo esto:
apt-get install postfix
Por Paco Aldarias Raya
2
3 INSTALACI ´ON DE POSTFIX
Podemos ver la versi´on instalada con:
dpkg -s postfix
Yo tengo la versi´on:
2.0.7-3
Nos pedir´a una serie de datos que debemos indicarle:
1. Postfix Configuration Nos informa de los tipos de instalaci´on posibles.
Damos a ok
2. General type of configuration?
Internet Site
Indicamos q queremos enviar correo y recibor correo.
3. Mail name?
aldarias.dsland.org
Aqui le indicamos el nombre del dominio. Es equivalente poner este
nombre a poner su ip.
4. Append .domain to simple addresses
¡Yes¿
Aqui le decimos q a˜nada un punto al una direccion simple. Es decir,
que si envian al usuario paco, el a˜nada un punto.
Si alguien quiere mandarme un correo, deber´a enviarlo a
[email protected]
Siendo paco un usuario de linux.
5. Other destinations to accept mail for? (blank for none)
aldarias.dsland.org, pacohost.aldarias.dsland.org, localhost.aldarias.dsland.org,
localhost
Aqui le indicamos que acepte correo a estos destinos.
6. Local networks?
127.0.0.0/8
Aqui le indicamos que maquinas pueden enviar correo. En mi caso solo
mi m´aquina. Podriamos tb poner 192.168.0.0/255.255.255.0 para la red
192.168.0.
Por Paco Aldarias Raya
3
5 EL FICHERO DE CONFIGURACI ´ON
7. Use procmail for local delivery?
¡Yes¿
Aqui le decimos que use procmail para enviar el correo al usuario.
8. Mailbox size limit
0
Aqu´ı indicamos el tama˜no m´aximo del correo. Si ponemos 0 es sin
l´ımite.
9. Local address extension character?
+
Aqui lde decimos que car´acter usamos para enviar a usuarios locales.
4. Configuraci´on
Debemos ser root para poder trabajar con postfix.
Veamos el fichero de configuracion del postfix:
nano /etc/postfix/main.cf
5. El fichero de configuraci´on
cat /etc/postfix/main.cf
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix
setgid_group = postdrop
append_dot_mydomain = yes
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
myhostname = aldarias.dyndns.org
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = aldarias.dyndns.org paco localhost
#relayhost = 127.0.0.1
mynetworks = 192.168.0.0/24 127.0.0.1/24
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
Por Paco Aldarias Raya
4
9 FICHEROS DE INTERES
6. Arranque y Parada
Arrancaremos el posfix con:
/etc/init.d/postfix start
Pararemos el posfix con:
/etc/init.d/postfix stop
7. Logs
Podemos ver q pasa con el correo asi:
less /var/log/mail.log
8. Como recoger el correo que nos envian
Debemos ahora recoger el correo.
Usaremos para ello kmail como cliente de correo. Vamos a: inicio, inter-
net, kmail Dentro de kmail: Preferencias, Configurar kmail, Red. Recibiendo,
A˜nadir Tipo de cuenta: Buz´on Local Carpeta: /var/mail/paco
Esto lo que hace es ir a la carpeta /var/mail/paco que es donde deja el correo,
y se lo lleva kmail, que est´a en la carpeta del usuario /home/paco/Mail/
9. Ficheros de interes
9.1. El nombre del dominio
cat /etc/mailname
aldarias.dyndns.org
9.2. El nombre de tu m´aquina
cat /etc/hostname
aldarias.dyndns.org
Por Paco Aldarias Raya
5
9.3 El nombre del host
11 POSTFIX Y CUOTAS
9.3. El nombre del host
cat /etc/hosts
127.0.0.1
192.168.0.1
aldarias.dyndns.org localhost
paco
10. Cola de correo
Para ver la cola del correo pendiente de enviar:
#mailq
Para borrar la cola:
postsuper -d ALL
Puedes comprobar las cabeceras del mensaje parandolo en la cola con:
# postsuper -h ID_MENSAJE
El ID del mensaje lo puedes mirar con:
# mailq
Luego puedes buscar el fichero que contiene el mensaje que estar´a por /va-
r/spool/postfix y se llamar´a igual que el id del mensaje y lo pasas a postcat.
Puedes usar esto por ejemplo:
# find /var/spool/postfix/hold -name ID_MENSAJE -exec postcat {} \;
Viendo las cabeceras podr´as saber por qu´e servidores est´a pasando el mensaje
y ver si de verdad tienes el servidor abierto.
11. Postfix y cuotas
Problema, postfix controla una quota globla (usease, que controla que el
direcotorio de los correos de todo el mundo no se pase de un limite). Para
tener control de quota individual (que tambien puedes poner a funcionar en
la base de de datos... creo un buzon de un mega, ahora lo cambio a 10, y
luego a 5... si tener que tocar nada en la configuraci´on de postfix), tendr´as
que ponerle un parche.
Por Paco Aldarias Raya
6
12 AUTENTIFICAR USUARIO Y CONTRASE ˜NA: SASL
Mas problemas, debian tiene separados los paquetes de postfix, postfix-pgsql,
postfix-tls...., as´ı que si lo haces .emparchando”los sources de postfix, te vas
a ver en muchos follones de dependencias, archivos que no estan o que estan
e otro lado....
Lo ideal:
apt-get install apt-build
apt-build update
apt-build source postfix
en el directorio de los sources descomprimidos, le pones aplicas el
patch http://web.onda.com.br/nadal/
gunzip postfix-*-trash.patch.gz
patch -p0 <postfix-*-trash.patch
apt-build install postfix
y ya tienes postfix con control de quotas individuales, con usuarios virtuales,
pero ojo, tienes que decirselo a postfix que lo utilice
cd /etc/postfix
vi main.cf
te vas a abajo de todo y pulsas i
luego copias y pegas.
#QUOTA
virtual_mailbox_limit_inbox = no
virtual_mailbox_limit_maps =
pgsql:/etc/postfix/pgsql_virtual_mailbox_size.cf
virtual_mailbox_limit_override = yes
virtual_maildir_extended = yes
virtual_create_maildirsize = yes
virtual_mailbox_limit = 100000000
Mas info en http://aribabiba.cosmoquimica.com.br/leandro/ Proble-
ma, est´a en brasile˜no, para un gallego no es problema porque es praticamen-
te igual al gallego, pero un extreme˜no un poco avispado deduce facilmente
lo que dice, y si no le preguntas a leandro (en ingles, gallego, portugues o
brasile˜no) o preguntas aqu´ı... aunque supongo que las dudas van a ser m´as
de tipo tecnico que idiom´atico.
12. Autentificar usuario y contrase˜na: SASL
Instalaci´on:
apt-get install postfix-tls libsasl-digestmd5 libsasl-modules-plain \
sasl-bin libsasl2 libsasl2-modules
Por Paco Aldarias Raya
7
12.1 A˜nadiendo usuarios directamente
12 AUTENTIFICAR USUARIO Y CONTRASE ˜NA: SASL
12.1. A˜nadiendo usuarios directamente
A˜nadir un usuario:
saslpasswd2 -c -u aldarias.dyndns.org paco
Indicar el metodo de comprobaci´on:
nano /etc/postfix/sasl/smtpd.conf
pwcheck_method: sasldb
Configurar postfix:
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_relay_domains
12.2. Usando un fichero de usario-contrase˜na
Crear este fichero:
nano /etc/postfix/sasl_passwd
mail.midominio.org
miusuario:mipassword
Cambiar los permisos:
chown root:root /etc/postfix/sasl_passwd && chmod 600 /etc/postfix/sasl_passwd
Crear el db file:
postmap hash:/etc/postfix/sasl_passwd
Cambiar la configuraci´on de postfix:
nano /etc/postfix/main.cf
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtpd_sasl_security_options = noanonymous
Reiniciar postfix:
Por Paco Aldarias Raya
8
12.3 Algunos consejos
13 BIBLIOGRAF´IA
postfix reload
Comprobar que funciona:
telnet localhost 25
ehlo localhost
quit
Deben aparecer l´ıneas parecidas a ´estas:
250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5
12.3. Algunos consejos
Dos o tres apuntes muy importantes si tu distribucion es Debian.
1.- Instala el paquete postfix-tls. El soporte para SASL viene con
sion parcheada de postfix.
esta ver-
2.- Si usas postfix 2.x + libsasl2, usa como metodo de validacion de
se˜nas saslauthd. Es mas facil asi, aunque no tendras soporte
MD5 ni DIGEST-MD5.
contra-
para CRAM-
Asegurate ademas de que saslauthd esta arrancado y usando el
meto-
do PAM (yo lo he hecho asi y funciona).
Asegurate ademas de instalar los modulos de autenticacion
dientes. He estado casi 30 minutos haciendo debugging del
lo para darme cuenta de que solo habia instalado
ro no tenia ningun modulo de autenticacion
los enchufables). Yo he usado
te para los metodos LOGIN y
correspon-
tinglado so-
libsasl2 (el core), pe-
(va todo a base d
Comentarios de: Servidor de correo: postfix (0)
No hay comentarios