
|
|
divert(-1) dnl il faut que le générateur de macro sache où trouver les fichiers de configuration : include(`/usr/lib/sendmail-cf/m4/cf.m4') dnl comme identifiant (8:12) vous pouvez sans doute mettre ce que vous voulez : define(`confDEF_USER_ID',``8:12'') dnl mon pc s'appelle gros.tux, mettez le nom de votre machine VERSIONID(`gros.tux nodns') Cwgros.tux localhost dnl vous utilisez linux oui ou non ? OSTYPE(`linux') dnl on n'utilise pas UUCP (c'est antédiluvien) undefine(`UUCP_RELAY') dnl quelqu'un connaît bitnet ? undefine(`BITNET_RELAY') dnl autant ajouter automatiquement le nom de domaine qui va bien (celui d'un de nos providers) FEATURE(always_add_domain) dnl on utilise un fichier d'alias FEATURE(use_cw_file) dnl ???? FEATURE(nocanonify) dnl ???? define(`confAUTO_REBUILD') dnl ???? define(`confTO_QUEUEWARN', `') dnl on ne relaie que les hôtes ???? FEATURE(relay_hosts_only) dnl on utilise un fichier d'alias define(`confCW_FILE', `-o /etc/mail/sendmail.cw') dnl ???? define(`confCON_EXPENSIVE', `True') dnl ???? define(SMTP_MAILER_FLAGS, e) dnl les accès smtp sont restreint par ce fichier FEATURE(access_db, `hash -o /etc/mail/access.db') dnl les domaines génériques sont dans : GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain') dnl on va changer les adresses venant de chez nous par celle de notre provider FEATURE(redirect) dnl si y'a pas de nom de domaine c'est : MASQUERADE_AS(`free.fr') dnl tous les mails en provenance de gros.tux sont changés MASQUERADE_DOMAIN(`gros.tux') dnl tous les mails on a dit ! FEATURE(masquerade_entire_domain) dnl donc il faut changer l'enveloppe : FEATURE(masquerade_envelope) dnl on va utiliser procmail pour trier les mails des utilisateurs : FEATURE(`local_procmail',`/usr/bin/procmail') dnl on mail en local MAILER(local) dnl en smtp (??) MAILER(smtp) dnl et via procmail MAILER(procmail) dnl notre serveur de mail relais est : smtp.free.fr define(RELAY_HOST, smtp:smtp.free.fr) define(SMART_HOST, smtp:smtp.free.fr) dnl il utilise TCP/IP ;) define(RELAY_MAILER, TCP) dnl cela n'est utile que pour les portables qui ont des adresses parfois insolubles FEATURE(`accept_unresolvable_domains') |
Ce fichier n'est pas utilisable par sendmail. Mais la lecture (et la rédaction) d'un fichier de configuration de sendmail ayant, paraît-il, causé la folie de plusieurs spécialistes de sendmail, je ne vais pas vous l'imposer. Ce fichier sert justement à créer le véritable fichier de configuration de sendmail : sendmail.cf, qui est créé par :
$ m4 sendmail.mc > /etc/sendmail.cf (enfantin), évidemment install-sendmail fait tous les choix convenables pour nous, mais au cas ou certains choix serait inappropriés, vous savez quoi faire : éditez sendmail.mc (après avoir lu la doc de sendmail) et régénérez sendmail.cf.
Il n'est absolument pas envisageable de créer de toute pièce un fichier /etc/sendmail.cf complet, par compte, on peut envisager de modifier légèrement celui-ci.
Cette version de sendmail (et peut-être les précédantes mais ça je n'en suis pas sur) permet de ne pas préciser le relai SMTP en mettant dans sendmail.mc la règle :
FEATURE(`relay_based_on_MX')dnl et d'enlever les règles :
define(RELAY_HOST,...)
define(SMART_HOST,...) puis en régénérant sendmail.cf par
m4 /usr/share/sendmail-cf/m4/cf.m4 sendmail.mc > sendmail.cf de cette façon, sendmail se basera sur le champ MX de votre DNS (ie: celui de votre FAI:fournisseur d'accès internet) pour le relai des mails : c'est très utile dans le cas ou vous avez plusieurs fournisseurs d'accès ça évite d'utiliser un script perl pour rechercher/modifier la ligne fautive dans sendmail.mc.
La configuration de fetchmail est beaucoup plus compréhensible. Voilà mon fichier /root/.fetchmailrc (commenté, mots de passe remplacés par xxxx) :
|
# Configuration created Sat Mar 11 11:52:47 2000 by fetchmailconf # le postmaster c'est postmaster ;), # en fait dans /etc/aliases, il y a un alias : postmaster -> root set postmaster "postmaster" # pour que les erreurs de distributions aillent à l'envoyeur : set bouncemail set properties "" # pour récupérer les mails sur pop.free.fr en pop3 : poll pop.free.fr with proto POP3 # le nom du compte sur pop.free.fr est "sympa", # son mot de passe est xxxxx il s'appelle fred sur ce pc : user "sympa" there with password "xxxxx" is fred here warnings 3600 # on n'accepte pas les mails repérés comme des spams : antispam 471 571 550 501 554 # un autre compte sur le même serveur pop : user "machin" there with password "xxxxx" is bibi here warnings 3600 antispam 471 571 550 501 554 # d'autres comptes sur un autre serveur pop poll mail.netcourrier.com with proto POP3 user "topsympa" there with password "xxxxx" is fred here warnings 3600 antispam 471 571 550 501 554 user "machin" there with password "xxxxx" is bibi here warnings 3600 antispam 471 571 550 501 554 # d'autres comptes sur un autre serveur pop poll pop.wanadoo.fr with proto POP3 user "sympa1" there with password "xxxxx" is fred here warnings 3600 antispam 471 571 550 501 554 |
Pour pouvoir utiliser un tel fichier de configuration, il faut impérativement avoir le droit d'écrire dans le compte mail (/var/spool/mail) de tous les utilisateurs indiques (ici bibi et fred) : le mieux est d'être root, et donc que le fichier ci-dessus soit en fait : /root/.fetchmailrc !
Il est bien entendu possible à chaque utilisateur de se créer un fichier /home/user/.fetchmailrc (même syntaxe) pour récupérer son courrier sur des comptes non connus du root.
Mais il devra récupérer lui-même son mail. On pourrait imaginer, à chaque connexion de créer le fichier /root/.fetchmailrc (pour le compte de root) avec les fichiers .fetchmailrc des différents utilisateurs du système, mais cela permettrait à n'importe qui de mettre des mails sur le compte de n'importe qui d'autre...
Une autre solution serait d'utiliser "su user -c fetchmail" pour chaque utilisateur, à chaque connexion (sans doute une bonne solution si l'on a beaucoup d'utilisateurs).
La solution proposée ici, est pratique si seulement quelques personnes on accès à un serveur (genre : moins de 10).
Pour ceux que install-sendmail rebute, qui veulent configurer fetchmail séparément, ou qui veulent ajouter des comptes pop, il existe un programme de configuration graphique relativement compréhensible : fetchmailconf (pensez à installer le paquetage correspondant).
Sendmail
C'est très simple. Tant que vous n'êtes pas connecté à Internet, tous vos mails sont mis en attente sans que vous ayez rien de particulier à faire.
A la connexion, par contre, vous devez envoyez tous les mails en attente en utilisant la commande :
/usr/sbin/sendmail -q
Avant d'utiliser cette commande, vous pouvez vérifier qu'effectivement vous avez des mails en attente par :
mailq
Pour recevoir les mails des différents comptes pop que vous avez configuré, depuis le compte de root, faites:
fetchmail -v (l'option -v n'est pas obligatoire, mais elle permet de voir que tout va bien). Et c'est tout.