La instalación de Qmail en un Sistema NO interferirá con el funcionamiento de Sendmail. Por lo tanto es posible que co-habiten ambos servidores de Mail (MTA's) en el mismo "Host" sin ningún tipo de conflicto.
|
Primero se deben crear los grupos, esto puede hacerse mediante los comandos:
|
o editando el archivo /etc/group
directamente
|
Crear los usuarios qmaild , qmailp , qmail , alias
bajo el grupo (GID) nofiles
y qmailq , qmailr, qmails
bajo el grupo (GID) qmail
. Mediante comandos:
|
O editando el archivo /etc/passwd
directamente:
|
Asegúrese que los usuarios pertenezcan a los grupos indicados
Se debe compilar e instalar el programa qmail: Dentro del directorio temporal ( /tmp
) donde fue descomprimido Qmail ejecute el comando:
|
El comando anterior instala Qmail bajo el directorio /var/qmail
, ahora se debe configurar uno de los aspectos más importantes de cualquier Servidor de Mail: los dominios sobre los cuales recibirá correo electrónico. NOTA: Se recomienda leer
servidores de mail
y
RR MX en DNS (El procesar correos electrónicos no es garantizado)
, para saber un poco más sobre este requerimiento.
Aún en el mismo directorio temporal ( /tmp
) de Qmail se pueden (deben) ejecutar dos archivos de configuración para indicarle a Qmail sobre cuales dominios recibirá correo electrónico:
|
El primer comando toma como argumento el nombre completo del "Host" (FQDN) , nombre+dominio , esto seria aquel configurado en
/etc/sysconfig/network
(utilice el comando uname -a
para observar el FQDN directamente).
El segundo comando busca en un servidor DNS todos los nombres completos (FQDN) a los que corresponde el nodo IP del "Host"; de nuevo, un poco más sobre este tema se encuentra en RR MX en DNS (El procesar correos electrónicos no es garantizado) .
Independientemente del comando que se utilice se generaran 5 archivos bajo el directorio /var/qmail/control
estos son:
defaultdomain:
Dominio "default" para qmail en el "Host" locals:
Nombre completo "FQDN" de los "Host" locales para qmail me :
Nombre completo del "Host" plusdomain :
Dominios sobre los cuales se recibirá correo electrónico rcphosts :
Hosts sobre los cuales se recibirá correo electrónico defaulthost:
Garantiza que todo correo electrónico que provenga del "Host" aparezca que proviene del dominio que se encuentre en este archivo. Si se se desea que el correo aparezca From: webmaster@osmosislatina.com
se debe incluir osmosislatina.com
en la primer linea de este archivo opcional. Se deben configurar los buzones que serán utilizados por Qmail, por ahora basta colocarse en el directorio /var/qmail/alias/
y crear 3 archivos:
|
Nótese que los archivos inician con un "." (punto) como aquellos de la configuración del Shell ( .bashrc,.cshrc
) Asegúrese que este directorio (alias
) y los archivos pertenezcan al usuario alias. Más sobre esto en
Buzones en Qmail
Copie el archivo /var/qmail/boot/home
al directorio /var/qmail
y cambie su nombre a rc
.
|
Ahora ejecute las siguientes pruebas para corroborar que Qmail es capaz de recibir correos electrónicos (NOTA: Esto no interferirá con Sendmail en dado caso de estar activo en el "Host").
Habilite el daemon de recepción de Qmail con el siguiente comando:
|
El comando anterior ejecuta el archivo rc
vía el Shell "C" , en el fondo &
("background").
Lo anterior también debe imprimir lo siguiente al registro del sistema
qmail: status: local 0/10 remote 0/20 |
El registro ("log") al cual será enviado este mensaje dependerá de la configuración del archivo
/etc/syslog.conf
Ejecute el comando ps -a
, deben aparecer 5 daemons de qmail: qmail-send, qmail-rspawn, qmail-clean, qmail-lspawn, splogger
Debido a que solo han sido configurados 3 usuarios para recibir correo ( post-master,mailer-daemon
y root
), se enviaran correos de prueba a estos usuarios.
# echo to: root | /var/qmail/bin/qmail-inject
|
El comando enviará un mensaje al usuario root
hacia el "Host" definido en /var/qmail/control/me
, esto es , si el archivo me
contiene server1.osmosislatina.com
, el correo será enviado a root@server1.osmosislatina.com
.
qmail: new msg 797072 qmail: info msg 797072: bytes 244 from <nsadmin@server1.osmosislatina.com> qp 3860 uid 889 qmail: starting delivery 4: msg 797072 to local root@server1.osmosislatina.com qmail: status: local 1/10 remote 0/20 qmail: delivery 4: success: did_1+0+0/ qmail: status: local 0/10 remote 0/20 qmail: end msg 797072 |
Si revisa el directorio /var/qmail/alias
observará que existe un archivo llamado Mailbox
, es este archivo el que contiene el mensaje que fue enviado a root
.
|
Este comando intentará enviar un mensaje al usuario desconocido
, debido a que éste no existe el usuario que lo envió ("root") recibirá un mensaje indicándole que no fue posible la entrega. La siguiente secuencia aparecerá en el registro ("log"):
qmail: new msg 797069 qmail: info msg 797069: bytes 251 from <root@server1.osmosislatina.com> qp 3871 uid 889 qmail: starting delivery 6: msg 797069 to local desconocido@server1.osmosislatina.com qmail: status: local 1/10 remote 0/20 qmail: delivery 6: failure: Sorry,_no_mailbox_here_by_that_name._(#5.1.1)/ qmail: status: local 0/10 remote 0/20 qmail: bounce msg 797069 qp 3874 qmail: end msg 797069 qmail: new msg 797072 qmail: info msg 797072: bytes 842 from <> qp 3874 uid 512 qmail: starting delivery 7: msg 797072 to local root@server1.osmosislatina.com qmail: status: local 1/10 remote 0/20 qmail: delivery 7: success: did_1+0+0/ qmail: status: local 0/10 remote 0/20 qmail: end msg 797072 |
Si observa de nuevo el archivo Mailbox
en /var/qmail/alias
notará que este ahora contiene un mensaje nuevo que indica que no fue posible la entrega del mensaje.
|
El comando intentará enviar el mensaje, aparecerá lo siguiente en el registro:
qmail: new msg 797072 qmail: info msg 797072: bytes 231 from <nsadmin@server1.osmosislatina.com> qp 3900 uid 889 qmail: starting delivery 9: msg 797072 to remote daniel@lejano.com qmail: status: local 0/10 remote 1/20 |
O en dado caso de no estar disponible el servidor de Mail para lejano.com
aparecerá lo siguiente:
qmail: delivery 9: deferral: <las razones porque no fue posible> |