Sous-sections
Mise en place d'un serveur mail. SMTP
SMTP (Simple Mail Transfer Protocol, port 25), c'est le protocole utilisé pour envoyer des mails.
Le standart reste sendmail compte tenu de sa stabilité en environnement intensif.
Néanmoins, nous étudierons d'autres serveurs de mail tels que postfix qui sont inclus par defaut
sur certaines distributions, et qui risque de le remplacer un jour prochain compte tenu de sa solidité
et de sa simplicité de configuration.
___________________________________________________________________ |
Installation |
Système |
commande d'installation |
démarrage du service |
RedHat |
rpm -Uvh postfix-*.rpm |
service postfix start |
Mandrake |
urpmi postfix |
/etc/init.d/postfix start |
Debian |
apt-get install postfix |
/etc/init.d/postfix start |
Gentoo |
emerge postfix |
rc-update add postfix default |
OpenBSD |
sendmail inclus par defaut. |
/usr/sbin/sendmail -L sm-mta -bd -q30m |
NetBSD |
sendmail inclus par defaut. |
/etc/rc.d/sendmail start |
___________________________________________________________________ |
Configuration |
Afin d'obtenir un serveur de base il vous faudra modifier simplement le fichier /etc/postfix/main.cf :
- décommenter la ligne commençant par #myhostname =
- myhostname = nom_de_votre_machine
- /etc/rc.d/init.d/postfix start
___________________________________________________________________ |
Installation |
Pour ce faire il faudra utiliser le soft Amavis qui permettra de scanner
le contenu des mails (html, zip, arj, tgz ...) et ensuite de le coupler
avec un antivirus de votre choix (malhereusement encore comercial pour l'instant cf. openantivirus)
néanmoins il existe des solutions très sastisfaisantes telles que:
- Sophos Anti Virus
- McAfee
- Panda Anti virus
- etc ...
qui supporte la majorité des systemes Linux/Unix.
___________________________________________________________________ |
Installation |
Système |
commande d'installation |
démarrage du service |
RedHat |
rpm -Uvh sendmail-*.rpm |
service postfix start |
Mandrake |
urpmi sendmail |
/etc/init.d/postfix start |
Debian |
apt-get install sendmail |
/etc/init.d/exim start |
Gentoo |
emerge sendmail |
rc-update add sendmail default |
OpenBSD |
sendmail inclus par defaut. |
/usr/sbin/sendmail -L sm-mta -bd -q30m |
NetBSD |
sendmail inclus par defaut. |
/etc/rc.d/sendmail start |
___________________________________________________________________ |
Configuration |
La configuration de sendmail livrée avec Linux/BSD convient à des sites
directement connectés à l'Internet.
Modifier /etc/mail/sendmail.cf à la main est généralement considéré comme
une occupation de puriste. La version 8 de sendmail s'accompagne d'une
nouvelle manière de générer les fichiers de configuration avec le
préprocesseur m4, grâce auquel le travail de configuration à la main se
fait à un niveau d'abstraction plus élevé.
Ainsi pour configurer sendmail vous pourrez vous inspirer
du fichier sendmail.mc ci-dessous.
Cette version a été configurée pour un NetBSD-1.6 il vous
faudra donc modifier certains des champs:
ce sera le cas par exemple pour l'emplacement du fichier cf.m4
|
include(`/usr/share/sendmail/m4/cf.m4') |
|
ou encore le champ définissant le type d'OS utilisé:
Vous aurez sûrement remarqué les 'dnl' à la fin des champs,
il sont en effet nécessaire si vous voulez que sendmail
accepte le fichier généré. On peut s'en passer
mais il faudra alors s'assurer qu'il n'existe pas d'espace
en fin de ligne.
Enfin une fois ce fichier personnalisé il suffira de tapper la
commande:
|
m4 sendmail.mc > /etc/mail/sendmail.cf |
|
pour générer le fichier sendmail.cf utilisé par sendmail.
divert(-1)
dnl les lignes commencent par 'dnl' n'apparaiteront pas
dnl dans le fichier sendmail.cf généré contrairement aux
dnl lignes commençant par un dièse.
divert(0)dnl
#___________________ Version __________________________________________________
include(`/usr/share/sendmail/m4/cf.m4')
VERSIONID(`$Id: secubook.tex,v 1.16 2003/07/21 10:55:04 seb Exp $')
OSTYPE(bsd4.4)dnl
#___________________ Options Diverses ________________________________________
#
# ne fait pas de requêtes dns ??
FEATURE(`nocanonify')
# Message d'accueil lors de connection a sendmail
# par defaut on a: ($j Sendmail $v/$Z; $b)
# confSMTP_LOGIN_MSG($j Sendmail $Z; $b bienvenue ...)
# !!! DON T Work !!!
Cw samaro.org
#
#___________________ Restrictions d'accès _____________________________________
#
FEATURE(`masquerade_envelope')dnl
#
FEATURE(`always_add_domain')dnl
#
FEATURE(`redirect')dnl
#
# FEATURE(relay_entire_domain)
#
# accepte de relayer le courrier uniquement
# depuis les hôtes de /etc/hosts
FEATURE(relay_hosts_only)dnl
#
# accepte de relayer les mails des utilisateurs+domaines
# n'appartenant pas au serveur.
FEATURE(accept_unqualified_senders)dnl
#
# Utilisateurs ayant le droit de modifier le champ From:
# lors de l'envoie d'un mail:
FEATURE(use_ct_file)dnl
define(`confCT_FILE',`/etc/mail/trusted-users')dnl
#
# gestion liste noire: consulte rbl.maps.vix.com
# avant d'accepter le mail.
# on peut spécifier un autre serveur FEATURE(rbl, 'rbl.hote.org')
FEATURE(`dnsbl')
#
# permet d'avoir un accès simplifie aux hôtes, les règles
# sont: OK (accepte), RELAY (accepte de relayer), REJECT (rejette)
# DISCARD (ignore). exemple:
# toto@toto.fr REJECT
# free.fr OK
# ...
# base générée par makemap hash /etc/mail/access.db < /etc/mail/access
# FEATURE(access_db)
#___________________ domaines virtuels ________________________________________
#
# permet d'accepter les mails d'autres domaines
FEATURE(use_cw_file)
#
# permet de spécifier les domaines en question
# dans le fichier /etc/virtualnames
# exemple:
# free.fr
# ...
#
define(`confCW_FILE',`/etc/mail/virtualnames')
# Il est également possible de rediriger tout un domaine virtuel
# vers un seul utilisateur ou plusieurs:
# makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable
FEATURE(virtusertable)
#
# La configuration se fait dans le fichier /etc/mail/virtusertable
# exemple:
# @toto.org seb
# test@titi.fr john
#______________________________________________________________________________
#
MAILER(`local')
MAILER(`smtp')
divert(-1)
dnl les lignes commencent par 'dnl' n'apparaiteront pas
dnl dans le fichier sendmail.cf généré contrairement aux
dnl lignes commençant par un dièse.
divert(0)dnl
#___________________ Version __________________________________________________
include(`/usr/share/sendmail/m4/cf.m4')
VERSIONID(`$Id: secubook.tex,v 1.16 2003/07/21 10:55:04 seb Exp $')
OSTYPE(bsd4.4)dnl
#___________________ ssi cyrus_________________________________________________
# ne laisser ces lignes ssi on utilise cyrus-imapd
define(`confBIND_OPTS',`-DNSRCH -DEFNAMES')
define(`confLOCAL_MAILER', `cyrus')
#___________________ Options Diverses ________________________________________
#
# ne fait pas de requêtes dns ??
FEATURE(`nocanonify')
# Message d'accueil lors de connection a sendmail
# par defaut on a: ($j Sendmail $v/$Z; $b)
# confSMTP_LOGIN_MSG($j Sendmail $Z; $b bienvenue ...)
# !!! DON'T Work !!!
Cw samaro.org
#
#___________________ Restrictions d'accès _____________________________________
#
FEATURE(`masquerade_envelope')dnl
#
FEATURE(`always_add_domain')dnl
#
FEATURE(`redirect')dnl
#
# FEATURE(relay_entire_domain)
#
# accepte de relayer le courrier uniquement
# depuis les hôtes de /etc/hosts
FEATURE(relay_hosts_only)dnl
#
# accepte de relayer les mails des utilisateurs+domaines
# n'appartenant pas au serveur.
FEATURE(accept_unqualified_senders)dnl
#
# Utilisateurs ayant le droit de modifier le champ From:
# lors de l'envoie d'un mail:
FEATURE(use_ct_file)dnl
define(`confCT_FILE',`/etc/mail/trusted-users')dnl
#
# gestion liste noire: consulte rbl.maps.vix.com
# avant d'accepter le mail.
# on peut spécifier un autre serveur FEATURE(rbl, 'rbl.hote.org')
FEATURE(`dnsbl')
#
# permet d'avoir un accès simplifie aux hôtes, les règles
# sont: OK (accepte), RELAY (accepte de relayer), REJECT (rejette)
# DISCARD (ignore). exemple:
# toto@toto.fr REJECT
# free.fr OK
# ...
# base générée par makemap hash /etc/mail/access.db < /etc/mail/access
# FEATURE(access_db)
#___________________ domaines virtuels ________________________________________
#
# permet d'accepter les mails d'autres domaines
FEATURE(use_cw_file)
#
# permet de spécifier les domaines en question
# dans le fichier /etc/virtualnames
# exemple:
# free.fr
# ...
#
define(`confCW_FILE',`/etc/mail/virtualnames')
# Il est également possible de rediriger tout un domaine virtuel
# vers un seul utilisateur ou plusieurs:
# makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable
FEATURE(virtusertable)
#
# La configuration se fait dans le fichier /etc/mail/virtusertable
# exemple:
# @toto.org seb
# test@titi.fr john
#______________________________________________________________________________
#
MAILER(`local')
MAILER(`smtp')
#______________________________________________________________________________
# a décommenter pour que les mail arrive directement
# dans cyrus si les règles:
# LOCAL_RULE_0
# Rbb + $+ < @ $=w . > $#cyrusbb $: $1
# ne sont pas acceptées:
#define(`CYRUS_MAILER_FLAGS',`A5@S')
#define(`confLOCAL_MAILER',`cyrus')
MAILER(`cyrus')
#___________________ ssi cyrus_________________________________________________
LOCAL_RULE_0
Rbb + $+ < @ $=w . > $#cyrusbb $: $1
|