Postfix , Mysql, Courier Imap

++Edit du 24/04/2005++%%%
Ajout d’une section [Amavisd-new|#amavisd-new]
%%%
++Edit du 4/05/2005++%%%
Ajout d’une section sur [SASL|#sasl]%%%
++Edit du 28/05/2005++%%%
Mise a jour de la section SASL ( ajout de [saslauthd|#saslauthd])%%%
++Edit du 21/08/2005++%%%
Mise a jour de la section TLS ( ajout d’une ligne concernant smtps afin de faire fonctionner thunderbird sous Windows …)%%%
Postfix sous debian sarge est composé de plusieurs paquets: %%%
* postfix - A high-performance mail transport agent
* postfix-doc - Postfix documentation
* postfix-ldap - LDAP map support for Postfix
* postfix-mysql - MYSQL map support for Postfix
* postfix-pcre - PCRE map support for Po—-stfix
* postfix-tls - TLS and SASL support for Postfix
La version actuelle de postfix est :%%%
apt-show-versions postfix
postfix/testing uptodate 2.1.5-9
Afin de gérer plus facilement les comptes mails de mon domaine ( et des domaines hébergés ) j’ai choisi d’utiliser [PostfixAdmin|http://high5.net/postfixadmin/|en] (la version 2.05 accessible sur mon ftp si besoin) et je me suis donc basé sur leur [ tutoriel|http://high5.net/howto/|en].Les mails seront stockés au format Maildir$$[Maildir|http://www.qmail.org/man/man5/maildir.html|en] est un format de boite mail introduit dans le mta [Qmail|http://qmail.free.fr/] .On peut trouver[ ici|http://www.courier-mta.org/mbox-vs-maildir/|en] un benchmark vis a vis de mbox $$%%%
Je pars donc du principe que le serveur web [Apache|http://httpd.apache.org/] et le serveur[ Mysql|http://www.mysql.com/] sont correctement installés et fonctionnent sans problème.

!!!++Postfix++
~postfix~
%%%
%%%
-) On installe les paquets dans un premier temps %%%
aptitude install postfix postfix-pcre .%%%
-) Configuration%%%
Configurer postfix revient a modifier essentiellement deux fichiers dans /etc/postfix :%%%
- /etc/postfix/main.cf%%%
- /etc/postfix/master.cf %%%
Classiquement il n’y a pas grand chose a modifier au niveau du master.cf%%%
Tout au plus il faut s’assurer dans un premier temps que rien n’est chrooté exemple :%%%
==========================================================================%%%
service type private unpriv chroot wakeup maxproc command + args%%%
(yes) (yes) (yes) (never) (50)%%%
==========================================================================%%%
smtp inet n - n - 10 smtpd%%%
Pourquoi ce problème de chroot ? en fait il peut s’avérer un souci au niveau de la communication avec le serveur mysql . si on décide de garder le chroot ( __il est actif par défaut sous debian__ ) alors il convient de faire appel au daemon [proxy|http://www.postfix.org/proxymap.8.html] de postfix$$Ainsi [virtual_alias_maps|http://www.postfix.org/postconf.5.html#virtual_alias_maps] = mysql:/etc/postfix/mysql/[mysql_virtual_alias_maps.cf|http://conf.littleboboy.net/serveurs/mail/postfix-mysql/mysql/mysql_virtual_alias_maps.cf] deviendra [virtual_alias_maps|http://www.postfix.org/postconf.5.html#virtual_alias_maps]= proxy:mysql:/etc/postfix/mysql/[mysql_virtual_alias_maps.cf|http://conf.littleboboy.net/serveurs/mail/postfix-mysql/mysql/mysql_virtual_alias_maps.cf]$$

En ce qui concerne le main.cf on peut s’interresser a un certain nombre de variables :
[myhostname|http://www.postfix.org/postconf.5.html#myhostname] <– on y précise le ‘nom’ du serveur . (classiquement sauf si on modifie la variable [smtpd_banner|http://www.postfix.org/postconf.5.html#smtpd_banner] c’est le nom que l’on verra au niveau du ehlo .
Plus précisement ayant choisi d’utiliser mysql , il faut renseigner ces variables :
virtual_alias_maps,virtual_gid_maps,virtual_mailbox_base,virtual_mailbox_domains,
virtual_mailbox_maps,virtual_minimum_uid,virtual_uid_maps .%%%
Dans mon cas c’est ainsi :%%%
[virtual_alias_maps|http://www.postfix.org/postconf.5.html#virtual_alias_maps] = mysql:/etc/postfix/mysql/[mysql_virtual_alias_maps.cf|http://conf.littleboboy.net/serveurs/mail/postfix-mysql/mysql/mysql_virtual_alias_maps.cf]
[virtual_gid_maps|http://www.postfix.org/postconf.5.html#virtual_gid_maps] = static:1029
[virtual_mailbox_base|http://www.postfix.org/postconf.5.html#virtual_mailbox_base] = /data/virtual
[virtual_mailbox_domains|http://www.postfix.org/postconf.5.html#virtual_mailbox_domains] = mysql:/etc/postfix/mysql/[mysql_virtual_domains_maps.cf|http://conf.littleboboy.net/serveurs/mail/postfix-mysql/mysql/mysql_virtual_domains_maps.cf]
[virtual_mailbox_maps|http://www.postfix.org/postconf.5.html#virtual_mailbox_maps] = mysql:/etc/postfix/mysql/[mysql_virtual_mailbox_maps.cf|http://conf.littleboboy.net/serveurs/mail/postfix-mysql/mysql/mysql_virtual_mailbox_maps.cf]
[virtual_mailbox_limit|http://www.postfix.org/postconf.5.html#virtual_mailbox_limit] = 51200000
[virtual_minimum_uid|http://www.postfix.org/postconf.5.html#virtual_minimum_uid] = 1029
[virtual_transport|http://www.postfix.org/postconf.5.html#virtual_transport] = [virtual|http://www.postfix.org/virtual.8.html]
[virtual_uid_maps|http://www.postfix.org/postconf.5.html#virtual_uid_maps] = static:1029%%%

j’ai rangé tous les fichiers de configuration dans un repertoire a part (histoire d’y voir plus clair :D )
chaque fichier mysql_virtual contient les informations permettant a postfix de savoir quel serveur,base de données, tables, champ qu’il lui faudra interroger.%%%
de mème je range tous mes mails dans le répertoire /data/virtual ,
celui ci appartient a l’utilisateur ‘vmail’ qui possède les uid/gid 1029 (ce qui coulait de source en lisant la configuration) %%%
Le MDA (Mail Distributed Agent) choisi est maildrop dans mon cas $$Pourquoi maildrop dans mon cas ? tout simplement car il gère les quotas virtuels et qu’il permet aussi de filtrer les mails.Ce [site|http://www.xs4all.nl/~jaspersl/quota/] vous permettra notamment de comprendre comment compiler maildrop : la version fourni par débian est compilé sans le support mysql , il vous faudra donc recompiler celui-ci avec le support qui va bien , sinon vous pouvez aussi vous servir de [virtual|http://www.postfix.org/virtual.8.html|en] (mda fourni par postfix ) exemple que j’ai donné ici$$. %%%

Vous pouvez trouver le contenu de chaque fichier en suivant les liens ,
Il faut bien sur penser a ‘postmaper’ les fichiers ( postmap$$cela consiste a transformer dans un format ‘adapté a postfix’ les données présentes dans le fichier$$ mysql_virtual_alias_maps.cf par exemple )

%%%
%%%
!!! ++Mysql++ %%%
~mysql~
%%%

En créant ainsi les fichiers de configuration on peut avoir un postfix capable d’interroger une base mysql.%%%
Il faudrait quand mème créer cette base et ces tables …%%%
A ce niveau il faut [suivre le tutorial de high5.net .|http://high5.net/howto/#mysql_setup] %%%
pour faire simple il faut
Créer la table et l’utilisateur de celle ci :%%%
%%%
USE mysql;
INSERT INTO user (Host, User, Password) VALUES (’localhost’,'postfix’,password(’postfix’));
INSERT INTO db (Host, Db, User, Select_priv) VALUES (’localhost’,'postfix’,'postfix’,'Y’);
FLUSH PRIVILEGES;
GRANT USAGE ON postfix.* TO postfix@localhost;
GRANT SELECT, INSERT, DELETE, UPDATE ON postfix.* TO postfix@localhost;
CREATE DATABASE postfix;
%%%
on crée les tables correspondantes aux données renseignés plus haut :%%%
%%%
[mysql_virtual_alias_maps.cf|http://conf.littleboboy.net/serveurs/mail/postfix-mysql/mysql/mysql_virtual_alias_maps.cf]%%%
%%%
USE postfix;
CREATE TABLE alias (
address varchar(255) NOT NULL default ‘’,
goto text NOT NULL,
domain varchar(255) NOT NULL default ‘’,
created datetime NOT NULL default ‘0000-00-00 00:00:00′,
modified datetime NOT NULL default ‘0000-00-00 00:00:00′,
active tinyint(1) NOT NULL default ‘1′,
PRIMARY KEY (address),
KEY address (address)
) TYPE=MyISAM COMMENT=’Postfix Admin - Virtual Aliases’;%%%
%%%
[mysql_virtual_domains_maps.cf|http://conf.littleboboy.net/serveurs/mail/postfix-mysql/mysql/mysql_virtual_domains_maps.cf]%%%
%%%
USE postfix;
CREATE TABLE domain (
domain varchar(255) NOT NULL default ‘’,
description varchar(255) NOT NULL default ‘’,
aliases int(10) NOT NULL default ‘0′,
mailboxes int(10) NOT NULL default ‘0′,
maxquota int(10) NOT NULL default ‘0′,
transport varchar(255) default NULL,
backupmx tinyint(1) NOT NULL default ‘0′,
created datetime NOT NULL default ‘0000-00-00 00:00:00′,
modified datetime NOT NULL default ‘0000-00-00 00:00:00′,
active tinyint(1) NOT NULL default ‘1′,
PRIMARY KEY (domain),
KEY domain (domain)
) TYPE=MyISAM COMMENT=’Postfix Admin - Virtual Domains’;
%%%
[mysql_virtual_mailbox_maps.cf|http://conf.littleboboy.net/serveurs/mail/postfix-mysql/mysql/mysql_virtual_mailbox_maps.cf]%%%
%%%
USE postfix;
CREATE TABLE mailbox (
username varchar(255) NOT NULL default ‘’,
password varchar(255) NOT NULL default ‘’,
name varchar(255) NOT NULL default ‘’,
maildir varchar(255) NOT NULL default ‘’,
quota int(10) NOT NULL default ‘0′,
domain varchar(255) NOT NULL default ‘’,
created datetime NOT NULL default ‘0000-00-00 00:00:00′,
modified datetime NOT NULL default ‘0000-00-00 00:00:00′,
active tinyint(1) NOT NULL default ‘1′,
PRIMARY KEY (username),
KEY username (username)
) TYPE=MyISAM COMMENT=’Postfix Admin - Virtual Mailboxes’;%%%
%%%
%%%
!!! ++PostfixAdmin++%%%
~postfixadmin~
%%%
Une fois ceci fait il ne vous reste plus qu’a installer [PostfixAdmin|http://high5.net/postfixadmin/] en suivant le [guide d’installation|http://high5.net/postfixadmin/index.php?file=INSTALL.TXT|en] .%%%
Concrètement c’est simple , vous récupérez le fichier qui va bien [ici|http://high5.net/postfixadmin/]$$Il faut récupérer la version 2.05 , je n’ai pas tester avec la version 2.1$$ ou[ là|ftp://ftp.littleboboy.net/pub/postfixadmin-2.0.5.tgz] (sur mon ftp )%%%
Vous décompressez cette version dans le bon repertoire ( tar xzf postfixadmin-2.0.5.tgz ) et il ne reste plus qu’a configurer le fichier config.inc et créer l’utilisateur mysql et les bases manquantes :%%%

USE mysql;
INSERT INTO user (Host, User, Password) VALUES (’localhost’,'postfixadmin’,password(’postfixadmin’));
INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv) VALUES (’localhost’,
‘postfix’, ‘postfixadmin’, ‘Y’, ‘Y’, ‘Y’, ‘Y’);
FLUSH PRIVILEGES;
GRANT USAGE ON postfix.* TO postfixadmin@localhost;
GRANT SELECT, INSERT, DELETE, UPDATE ON postfix.* TO postfixadmin@localhost;
%%%
USE postfix;
CREATE TABLE admin (
username varchar(255) NOT NULL default ‘’,
password varchar(255) NOT NULL default ‘’,
created datetime NOT NULL default ‘0000-00-00 00:00:00′,
modified datetime NOT NULL default ‘0000-00-00 00:00:00′,
active tinyint(1) NOT NULL default ‘1′,
PRIMARY KEY (username),
KEY username (username)
) TYPE=MyISAM COMMENT=’Postfix Admin - Virtual Admins’;
%%%
CREATE TABLE log (
timestamp datetime NOT NULL default ‘0000-00-00 00:00:00′,
username varchar(255) NOT NULL default ‘’,
domain varchar(255) NOT NULL default ‘’,
action varchar(255) NOT NULL default ‘’,
data varchar(255) NOT NULL default ‘’,
KEY timestamp (timestamp)
) TYPE=MyISAM COMMENT=’Postfix Admin - Log’;
%%%
CREATE TABLE vacation (
email varchar(255) NOT NULL default ‘’,
subject varchar(255) NOT NULL default ‘’,
body text NOT NULL,
cache text NOT NULL,
domain varchar(255) NOT NULL default ‘’,
created datetime NOT NULL default ‘0000-00-00 00:00:00′,
active tinyint(1) NOT NULL default ‘1′,
PRIMARY KEY (email),
KEY email (email)
) TYPE=MyISAM COMMENT=’Postfix Admin - Virtual Vacation’;
%%%
Au niveau du config.inc pas grand chose de particulier en fait si ce n’est que j’aime bien avoir ceci :%%%
$CONF[’domain_path’] = ‘YES’;
// If you don’t want to have the domain in your mailbox set this to ‘NO’.
// Example: /usr/local/virtual/domain.tld/username
$CONF[’domain_in_mailbox’] = ‘YES’;
%%%
Le tour est normalement joué ;) %%%

%%%
!!! ++Courier++.%%%
~courrier~
%%%
Bon c’est pas tout cela mais il faudrait quand mème pouvoir consulter ses mails …%%%
C’est là qu’intervient courier-imap .%%%
il peut fonctionner tant en imap qu’en pop , il suffit d’installer ce que l’on désire .
Le plus simple est donc un :%%%
aptitude install courier-pop courier-authmysql courier-imap courier-authdaemon
%%%
ceci étant fait la configuration se déroule dans /etc/courier/%%%
Dans le fichier [/etc/courier/authdaemonrc|http://conf.littleboboy.net/serveurs/mail/courier-imap/authdaemonrc] il faut s’assurer que l’auth mysql est prise en compte :%%%
authmodulelist=”authpam authmysql”
%%%
Au niveau du fichier [/etc/courier/authmysqlrc|http://conf.littleboboy.net/serveurs/mail/courier-imap/authmysqlrc] ,nous allons pouvoir configurer le nécessaire pour que courier puisse trouver les informations nécessaires à l’acces aux mails.%%%
Il n’y normalement rien a changer pour les fichiers[ /etc/courier/imapd|http://conf.littleboboy.net/serveurs/mail/courier-imap/imapd] , [/etc/courier/pop3d|http://conf.littleboboy.net/serveurs/mail/courier-imap/pop3d].%%%
Pour mémoire le login par pop/imap est du style loginutilisateur@domainevirtuel.tld , et non pas juste loginutilisateur.[|http://www.postfix.org]
%%%
!!!++SASL++
~sasl~
%%%
%%%
On va détailler ici une authentification basé sur mysql .
Il faut noter que la version des libsasl2-mysql ne permet pas de lire directement le pass si celui est crypté ( crypt() de mysql ) , par conséquent cela impose d’avoir les pass en clair dans la base de donnée , ou tout du moins d’un champ donné)
apt-show-versions libsasl2-modules-sql
libsasl2-modules-sql/testing uptodate 2.1.19-1.5
On va donc procéder a l’installation des lib qui vont bien
aptitude install libsasl2 libsasl2-modules-sql
ensuite dans le répertoire /etc/postfix on va créer un répertoire /etc/postfix/sasl dans lequel on y glissera un fichier smtpd.conf contenant :
pwcheck_method: auxprop
auxprop_plugin: sql
sql_engine: mysql
sql_hostnames: 127.0.0.1
sql_user: postfix
sql_passwd: ****
sql_database: postfix
sql_select: select password from mailbox where username=’%u@%r’
Il faut bien sur passer par une étape de configuration du main.cf
!!++Sasl Auth++%%%
~saslauthd~
[smtpd_sasl_auth_enable|http://www.postfix.org/postconf.5.html#smtpd_sasl_auth_enable] = yes
[smtpd_sasl_security_options|http://www.postfix.org/postconf.5.html#smtpd_sasl_security_options] = noanonymous
[broken_sasl_auth_clients|http://www.postfix.org/postconf.5.html#broken_sasl_auth_clients] = no
[smtpd_tls_auth_only|http://www.postfix.org/postconf.5.html#smtpd_tls_auth_only] = yes

le dernier paramètre précise d’autoriser l’auth sasl uniquement après que le tls soit activé .
Il est aussi possible d’utiliser une auth sasl basé sur le daemon saslauthd .
%%%
Le fait d’utiliser saslauthd permet notamment d’interroger les bases cryptés ( bien sur cela impose un daemon supplémentaire sur la machine )
tout d’abord il faut installer saslauthd ainsi que le plugin pam qui va bien ™ :
aptitude install sasl2-bin libpam-mysql
au niveau du fichier de configuration /etc/postfix/sasl/smtpd.conf $$(la restriction des mech list est lié a pam )$$ quelques changements interviennent le fichier devenant :

pwcheck_method: saslauthd
mech_list: plain login

Ceci fait il faut configurer saslauthd.
tout d’abord dans le fichier /etc/default/saslauthd
on s’assure qu’il se lancera automatiquement , il faut donc décommenter la ligne
# START=yes
en suite il faut rajouter une ligne
PARAMS=”-r”
cf les [archives de postfix|http://archives.neohapsis.com/archives/postfix/2004-07/2342.html].
au niveau du répertoire /etc/pam.d/ on crée un fichier smtp contenant les lignes :
auth sufficient pam_mysql.so host=127.0.0.1 db=postfix user=postfix passwd=secret \
table=mailbox usercolumn=username passwdcolumn=password crypt=y
account required pam_mysql.so host=127.0.0.1 db=postfix user=postfix passwd=secret \
table=mailbox usercolumn=username passwdcolumn=password crypt=y
Il suffit ensuite de lancer saslauthd$$Pour l’heure il faut penser a déchrooter postfix afin qu’il puisse accéder a saslauthd ( au niveau de master.cf)$$
!!++TLS++
%%%
~tls~
%%%
Le TLS permet de bénéficier d’une connexion sécurisée type ’ssl’ ( en fait c’est du ssl mais passons … )%%%
En quoi est ce utile ? .
Ce l’est dans le cadre d’une authentification SASL$$ En fait l’auth SASL permet a un client mail ne faisant pas partie du réseau de postfix a utiliser votre smtp ( ce qui peut etre utile dans le cadre d’une utilisation distante)$$ %%%
De mème elle peut permettre la communication entre serveurs smtp de manière sécurisé (bon ok il n’y a aucun interet pour l’heure mais bon , c’est possible ).%%%
Pour apporter le support TLS a postfix c’est simple :
aptitude install postfix-tls .%%%
Il faut ensuite générer les certificats ssl , en ce qui me concerne je fais appel a [CAcert|http://www.cacert.org] .%%%
il faut dans un premier temps générer sa clé (penser a ne pas perdre son pass :D ) :%%%
openssl genrsa -des3 -out server.key 1024%%%
ensuite il faut générer la demande de signature de certificat :%%%
openssl req -new -key server.key -out server.csr %%%
C’est cette demande que l’on fournira à [CAcert|http://www.cacert.org], on récupéra ainsi un certificat signé.
Il faut dès lors renseigner les sens nécessaires au niveau de postfix %%%
En ce qui concerne la partie main.cf , ce sont les variables smtpd_tls …%%%
ainsi on rajoutera dans son main.cf ceci :%%%
[smtpd_use_tls|http://www.postfix.org/postconf.5.html#smtpd_use_tls] = yes
[smtpd_tls_key_file|http://www.postfix.org/postconf.5.html#smtpd_tls_key_file] = /etc/postfix/certificats/parmenion.key
[smtpd_tls_cert_file|http://www.postfix.org/postconf.5.html#smtpd_tls_cert_file] = /etc/postfix/certificats/parmenion.crt
[smtpd_tls_CAfile|http://www.postfix.org/postconf.5.html#smtpd_tls_CAfile] = /etc/postfix/certificats/[cacert.crt|http://www.cacert.org/certs/root.crt]
%%%

parmenion.key étant notre clé privée , parmenion.crt étant le certificat signé fourni par CAcert .%%%
Ah oui il peut etre utile d’enlever le pass de la clé privé ( sinon il peut y avoir quelque souci au démarrage de postfix …. )%%%
openssl rsa -in secret.key -out secret-unprotected.key%%%
De mème il est possible a postfix de converser avec le smtp distant si celui si propose le TLS , pour ce faire il suffit de ‘remplir’ les variables smtp_tls_* ce qui nous donne ( il est parfaitement possible d’utiliser les mèmes certificats ) :%%%
[smtp_use_tls|http://www.postfix.org/postconf.5.html#smtp_use_tls] = yes
[smtp_tls_key_file|http://www.postfix.org/postconf.5.html#smtp_tls_key_file] = /etc/postfix/certificats/parmenion.key
[smtp_tls_cert_file|http://www.postfix.org/postconf.5.html#smtp_tls_cert_file] = /etc/postfix/certificats/parmenion.crt
[smtp_tls_CAfile|http://www.postfix.org/postconf.5.html#smtp_tls_CAfile] = /etc/postfix/certificats/[cacert.crt|http://www.cacert.org/certs/root.crt]
%%%

Il est aussi possible d’activer directement le mode sasl ( c’est a dire ne pas passer par le tls ) en décommentant une ligne du master.cf
#smtps inet n - n - - smtpd
# -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes

Une fois cette ligne décommenté , un daemon écoutera sur le port 465 et ne répondra qu’aux sollicitations fonctionnant en mode crypté ;) %%%
cela peut répondre a certains problèmes , notamment avec thunderbird sous windows : je n’ai pas réussi pour l’heure a faire fonctionner le tls , alors que cela fonctionne bien sur sans problème sous Mac OS X ou GNU/Linux .%%%

!!! ++#Amavisd-new++ %%%
%%%
~amavisd-new~
[Amavisd-new|http://www.ijs.si/software/amavisd/] est une sorte de proxy permettant de rajouter a notre chaine mail un antivirus et d’utiliser spamassasin .
Pour ce faire il suffit de l’installer :
aptitude install amavisd-new
tant qu’a faire autant installer aussi [clamav|http://www.clamav.net/]
aptitude install clamav clamav-daemon clamav-base

une fois cette formalité effectuée , il convient d’effectuer un certain nombre de modifications .
Dans un premier temps il faut configurer amavisd-new : ceci ce passe au niveau du fichier [/etc/amavis/amavisd.conf|http://conf.littleboboy.net/serveurs/mail/amavis/amavisd.conf] .
En fait il faut pouvoir recevoir les mails de postfix mais aussi les renvoyer .
En ce qui me concerne je configure amavis pour recevoir les mails par[ lmtp|http://www.postfix.org/lmtp.8.html] .
$unix_socketname = “/var/lib/amavis/amavisd.sock”;
ensuite il faut pouvoir renvoyer les mails à postfix :
$forward_method = ’smtp:127.0.0.1:10025′; # where to forward checked mail
$notify_method = $forward_method; # where to submit notifications
Du coté de postfix il faut pouvoir récupérer ses mails , pour ce faire on va faire postfix écouter au bon endroit en modifiant le nécessaire dans le [master.cf|http://www.postfix.org/master.5.html] ce qui nous donne :
127.0.0.1:10025 inet n - y - 5 smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
en reloadant postfix , on doit donc pouvoir observer postfix écoutant sur le port 10025
il faut aussi qu’il puisse envoyer les mails a amavisd-new , la aussi une modification du master.cf :
lmtp-amavis unix - - - - 2 lmtp
-o lmtp_data_done_timeout=1200

-o lmtp_send_xforward_command=yes
ceci étant fait postfix n’envois toujours pas de mail a traiter a amavisd .
cette possibilité est assurée par la variable [content_filter|http://www.postfix.org/postconf.5.html#content_filter]
content_filter=lmtp-amavis:[127.0.0.1]:10024
Et voila , les mails seront filtrés par amavis .
En ce qui concerne [spamassasin|http://spamassassin.apache.org/] il est désactivé par défaut ,il faut donc penser a l’installer et a commenter la ligne qui va bien
@bypass_spam_checks_acl = qw( . );

!!! ++Diverses sources ++%%%
%%%
[http://www.postfix.org|http://www.postfix.org|en] bien sur %%%
[http://high5.net|http://high5.net|en] <– postfixadmin :) %%%
[http://postfix.state-of-mind.de/patrick.koetter/smtpauth/|http://postfix.state-of-mind.de/patrick.koetter/smtpauth/|en] <– pour le SaslAuthd %%%
[http://www.homeport.org/~adam/starttls.html|http://www.homeport.org/~adam/starttls.html|en] <– en complément du premier ;) %%%
[http://x.guimard.free.fr/postfix/|http://x.guimard.free.fr/postfix/|fr] <– documentation en français %%%
[Courier Imap|http://www.courier-mta.org/imap/|en] <– le site de Courier %%%
[http://wispdirect.com/docs/sasl-howto.html|en] <– libsasl2 + patch mysql crypt ( non testé )%%%
[PostfixWiki|http://postfixwiki.org/|en] <– Wiki concernant postfix %%%
[Postfix & LDAP|http://www.bizeul.net/index.php/2005/05/27/7|fr] <– Petit How-to avec du ldap %%%
[Maildrop & Quota|http://www.xs4all.nl/~jaspersl/quota/] %%%