Quelques infos sur la machine:

[root@centos51 /]# cat /proc/version
Linux version 2.6.18-53.el5 (mockbuild@builder6.centos.org)
(gcc version 4.1.2 20070626 (Red Hat 4.1.2-14)) #1 SMP Mon Nov 12 02:14:55 EST 2007

[root@centos51 /]# file /sbin/init
/sbin/init: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV),
for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped

[root@centos51 /]# df -hT
Sys. de fich. Type     Tail. Occ. Disp. %Occ. Monté sur
/dev/sda1     ext3    3,4G  2,1G  1,2G  65% /
tmpfs        tmpfs    187M     0  187M   0% /dev/shm

[root@centos51 /]# free
             total       used       free     shared    buffers     cached
Mem:        381500     196804     184696          0      49884      78456
-/+ buffers/cache:      68464     313036
Swap:       610460      47600     562860


[root@centos51 /]# hostname --fqdn
centos51.centos.loc

Disposant d'un serveur dns local sur le serveur que vous visitez actuellement, je configure un nouveau
nom de domaine nomme centos.loc dont le mx sera bien evidemment la machine centos51.

[root@centos51 /]# dig mx centos.loc

; <<>> DiG 9.3.3rc2 <<>> mx centos.loc
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19661
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

;; QUESTION SECTION:
;centos.loc.            IN    MX

;; ANSWER SECTION:
centos.loc.        10800    IN    MX    10 mx.centos.loc.

;; AUTHORITY SECTION:
centos.loc.        10800    IN    NS    ns.net.caen.
centos.loc.        10800    IN    NS    p733.net.caen.

;; ADDITIONAL SECTION:
mx.centos.loc.        10800    IN    A    192.168.0.39
ns.net.caen.        10800    IN    A    192.168.0.23
p733.net.caen.        10800    IN    A    192.168.0.22

;; Query time: 2 msec
;; SERVER: 192.168.0.22#53(192.168.0.22)
;; WHEN: Sun Jun  1 19:19:54 2008
;; MSG SIZE  rcvd: 139


N'etant pas tres familier de sendmail (moi c'est qmail depuis plusieurs annees), je decide de passer
au clickodrome via webmin. Le paquet webmin-1.420-1.noarch.rpm recupere sur http://www.webmin.com/download.html
s'installe comme une fleur par un rpm -ivh.

Quelques instants plus tard j'ai acces a la config de sendmail via mon navigateur.

webmin

Je valide donc l'acces reseau pour toutes les interfaces puisque par defaut il n'ecoute que sur 127.0.0.1.


J'ajoute dans la rubrique Local Domains et Relay Domains: centos.loc . Webmin est bien foutu dans le sens ou
des qu'on valide l'une de ces rubriques, il lance automagiquement la reconstruction des fichiers de conf
de sendmail (/etc/mail) et qu'il restart sendmail dans la foulee :)

Je cree ensuite 2 utilisateurs sur la machine centos51 mailuser1 et mailuser2.

Je teste dovecot : telnet localhost 110 : marche pas et dans /var/log/maillog je trouve :

Jun  1 19:12:45 centos51 dovecot: pop3-login: pop3-login: error while loading shared libraries: libsepol.so.1: failed to map segment fr
om shared object: Cannot allocate memory

Une petite recherche google et la soluce (http://www.cyberciti.biz/tips/rhel-dovecot-error-while-loading-shared-libraries.html):
modifier comme suit /etc/dovecot.conf :

login_process_size = 64  (!!!) Restart dovecot : OK

Maintenant je souhaite que les mails arrivent par defaut dans un format Maildir. 2 modifs a effectuer:

1) dovecot.conf : valider la ligne suivante:

mail_location = maildir:~/Maildir

2) Creer ou modifier /etc/procmailrc et ajouter la ligne:

DEFAULT=$HOME/Maildir/

Maintenant je vais tester l'envoi d'un mail a mailuser1@centos.loc depuis une autre machine :

Les logs sur l'emetteur:
Jun  1 18:25:16 srvweb qmail: 1212337516.812283 new msg 915834
Jun  1 18:25:16 srvweb qmail: 1212337516.812336 info msg 915834: bytes 255 from <root@pmenier.dynalias.net> qp 18570 uid 0
Jun  1 18:25:16 srvweb qmail: 1212337516.820510 starting delivery 1: msg 915834 to remote mailuser1@centos.loc
Jun  1 18:25:16 srvweb qmail: 1212337516.820559 status: local 0/10 remote 1/20
Jun  1 18:25:17 srvweb qmail: 1212337517.195416 delivery 1: success: 192.168.0.39_accepted_message./Remote_host_said:_250_2.0.0_m51HLkNX003645_Message_accepted_for_delivery/
Jun  1 18:25:17 srvweb qmail: 1212337517.195461 status: local 0/10 remote 0/20
Jun  1 18:25:17 srvweb qmail: 1212337517.195480 end msg 915834



Les logs cote centos51:
Jun  1 19:21:46 centos51 sendmail[3645]: m51HLkNX003645: from=<root@pmenier.dynalias.net>, size=255, class=0, nrcpts=1, msgid=<20080601
162516.18569.qmail@pmenier.dynalias.net>, proto=ESMTP, daemon=MTA, relay=srvweb.net.caen [192.168.0.23]
Jun  1 19:21:46 centos51 sendmail[3646]: m51HLkNX003645: to=<mailuser1@centos.loc>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=
30465, dsn=2.0.0, stat=Sent

Maintenant je me connecte en pop sur centos51:

[root@centos51 log]# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK Dovecot ready.
user mailuser1
+OK
pass xxxxxxxxx
+OK Logged in.
list
+OK 1 messages:
1 508
.
retr 1
+OK 508 octets
Return-Path: <root@pmenier.dynalias.net>
Received: from pmenier.dynalias.net (srvweb.net.caen [192.168.0.23])
    by localhost.localdomain (8.13.8/8.13.8) with ESMTP id m51HLkNX003645
    for <mailuser1@centos.loc>; Sun, 1 Jun 2008 19:21:46 +0200
Received: (qmail 18570 invoked by uid 0); 1 Jun 2008 16:25:16 -0000
Date: 1 Jun 2008 16:25:16 -0000
Message-ID: <20080601162516.18569.qmail@pmenier.dynalias.net>
From: root@pmenier.dynalias.net
To: mailuser1@centos.loc
Subject: essai srvweb

essai srvweb


Je verifie en dur sur le disque:

[root@centos51 mailuser1]# ll Maildir/{new,cur}
Maildir/cur:
total 24
drwx------ 2 mailuser1 mailuser1 4096 jun  1 19:23 .
drwx------ 5 mailuser1 mailuser1 4096 jun  1 19:23 ..
-rw------- 1 mailuser1 mail       496 jun  1 19:21 1212340906.3647_0.centos51:2,S

Maildir/new:
total 16
drwx------ 2 mailuser1 mailuser1 4096 jun  1 19:22 .
drwx------ 5 mailuser1 mailuser1 4096 jun  1 19:23 ..


[root@centos51 mailuser1]# cat Maildir/cur/1212340906.3647_0.centos51\:2\,S
Return-Path: <root@pmenier.dynalias.net>
Received: from pmenier.dynalias.net (srvweb.net.caen [192.168.0.23])
    by localhost.localdomain (8.13.8/8.13.8) with ESMTP id m51HLkNX003645
    for <mailuser1@centos.loc>; Sun, 1 Jun 2008 19:21:46 +0200
Received: (qmail 18570 invoked by uid 0); 1 Jun 2008 16:25:16 -0000
Date: 1 Jun 2008 16:25:16 -0000
Message-ID: <20080601162516.18569.qmail@pmenier.dynalias.net>
From: root@pmenier.dynalias.net
To: mailuser1@centos.loc
Subject: essai srvweb

essai srvweb


Derniere verification: envoi d'un mail en utilisant le smtp de centos51

[root@centos51 mailuser1]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 localhost.localdomain ESMTP Sendmail 8.13.8/8.13.8; Sun, 1 Jun 2008 19:28:10 +0200
helo mailuser1
250 localhost.localdomain Hello centos51.centos.loc [127.0.0.1], pleased to meet you
mail from: mailuser1@centos.loc
250 2.1.0 mailuser1@centos.loc... Sender ok
rcpt to: patrick@net.caen
250 2.1.5 patrick@net.caen... Recipient ok
data
354 Enter mail, end with "." on a line by itself
essai depuis centos
.
250 2.0.0 m51HSA2f003709 Message accepted for delivery


Logs cote centos51:

Jun  1 19:23:02 centos51 dovecot: POP3(mailuser1): Disconnected: Logged out top=0/0, retr=1/524, del=0/1, size=508
Jun  1 19:28:18 centos51 sendmail[3709]: m51HSA2f003709: from=mailuser1@centos.loc, size=20, class=0, nrcpts=1, msgid=<200806011728.m51
HSA2f003709@localhost.localdomain>, proto=SMTP, daemon=MTA, relay=centos51.centos.loc [127.0.0.1]
Jun  1 19:28:18 centos51 sendmail[3712]: m51HSA2f003709: to=patrick@net.caen, ctladdr=mailuser1@centos.loc (500/500), delay=00:00:04, x
delay=00:00:00, mailer=esmtp, pri=120020, relay=mx.net.caen. [192.168.0.23], dsn=2.0.0, stat=Sent (ok 1212340532 qp 22337)


Logs cote serveur de reception:

Jun  1 19:15:32 srvweb qmail: 1212340532.156331 new msg 915834
Jun  1 19:15:32 srvweb qmail: 1212340532.156383 info msg 915834: bytes 529 from <mailuser1@centos.loc> qp 22337 uid 64011
Jun  1 19:15:32 srvweb qmail: 1212340532.165801 starting delivery 4: msg 915834 to local net.caen-patrick@net.caen
Jun  1 19:15:32 srvweb qmail: 1212340532.165876 status: local 1/10 remote 0/20
Jun  1 19:15:32 srvweb spamd[1741]: spamd: connection from localhost.localdomain [127.0.0.1] at port 45708
Jun  1 19:15:32 srvweb spamd[1741]: spamd: processing message <200806011728.m51HSA2f003709@localhost.localdomain> for vpopmail:1004
Jun  1 19:15:35 srvweb spamd[1741]: spamd: clean message (-1.3/2.5) for vpopmail:1004 in 2.8 seconds, 657 bytes.
Jun  1 19:15:35 srvweb spamd[1741]: spamd: result: . -1 - ALL_TRUSTED,BAYES_00,MISSING_HEADERS,MISSING_SUBJECT scantime=2.8,size=657,user=vpopmail,uid=1004,required_score=2.5,rhost=localhost.localdomain,raddr=127.0.0.1,rport=45708,mid=<200806011728.m51HSA2f003709@localhost.localdomain>,bayes=0.000000,autolearn=no
Jun  1 19:15:35 srvweb spamd[1529]: prefork: child states: II
Jun  1 19:15:35 srvweb qmail: 1212340535.089187 delivery 4: success: did_0+0+1/
Jun  1 19:15:35 srvweb qmail: 1212340535.089237 status: local 0/10 remote 0/20
Jun  1 19:15:35 srvweb qmail: 1212340535.089257 end msg 915834




OK ca baigne. Evidemment c'est du basique de chez basique. Il faudra pouvoir gerer des utilisateurs virtuels
dans le cas d'un service de messagerie plus important mais pour une entreprise gerant une dizaine de bals c'est
largement suffisant. De plus pour blinder un peu, on peut passer le shell de l'utilisateur cree a false...

Remarque: dans ce cas le serveur expediant le mail est comme on le voit qmail. Comme les FAI ne laissent plus
passer les serveurs persos, vous devez configurer un smarthost.

Pour qmail c'est le fichier /etc/qmail/smtproutes :

srvweb:/etc/qmail# cat smtproutes

.loc:
pmenier.net:
:smtp.wanadoo.fr

Comme on le voit j'ai ajoute le .loc dans la liste des domaines  a delivrer directement (sans passer par le smarthost).



Note de mise à jour le 26/11/08: j'ai vu sur howtoforge un article expliquant la mise en place de spamassassin et clamav
avec sendmail/procmail . http://www.howtoforge.com/howto_spamassassin_clamav_procmail

ou copie de sauvegarde locale : howto_spamassassin_clamav_procmail.html
Je m'en suis inspiré mais me suis contenté pour l'instant d'installer les paquets suivants et de configurer les .procmail*, .spamass* etc...

Ca a l'air de fonctionner mais à l'heure où j'écris tous les tests ne sont pas terminés... A suivre si j'ai le temps...
yum install clamav-milter clamav spamass-milter spamassassin sendmail-cf