Postfix est un serveur de messagerie électronique libre développé à l'origine comme une alternative plus simple et plus sécurisée à sendmail. Aujourd'hui c'est une énorme usine à gaz qui demanderais quelques bonnes vies de chat pour être correctement maîtrisée. L'objectif de ce tutoriel est de voir comment utiliser cet outil de manière très fortement allégée qui nous permet de sorte à gagner en indépendance vis à vis d'un fournisseur quelconque.
Pour recevoir du courrier il est déjà avoir une IP fixe, un nom sur la toile et mieux encore, la possibilité de configurer son Reverse DNS. Ce n'est pas strictement nécessaires et certains passer par des services comme DynDNS.org, mais cela reste tout de même préférable.
Si vous avez l'IP fixe (une dédibox, une freebox, Orange en mode Pro, etc.), l'achat d'un nom de domaine est une formalité qui ne coûte pas le service qu'il rend (12€ chez Gandi pour un .fr ou un .net). Une fois le domaine en poche, il va vous falloir configurer vos zones de sorte à ce que votre nouveau nom pointe sur votre IP.
Chez Gandi cela se fait avec un peu de courage et de gougueulage pour les bases, et par l'interface "gestion des Zones", en mode Avancé ou Expert. La version la plus simple que vous devez obtenir pour un routage du courrier doit ressemble à cela :
mon_server 300 IN A 88.191.34.55
smtp.mon_domaine.net 300 IN CNAME mon_server
@ 300 IN MX 10 smtp.mon_domaine.net.
Sans rentrer dans les arcanes de la syntaxe DNS, cela indique que la machine mon_serveur pointe sur l'adresse IP 88.191.34.55. Ainsi un ping mon_server.mon_domaine.net répond positivement. C'est ce que l'on appelle une enregistrement A (principal).
Ensuite vient un enregistrement CNAME qui n'est autre q'un alias sur un enregistrement A. Ce n'est pas strictement nécessaire mais c'est plus propre ainsi, notre serveur SMTP sera donc accessible par smtp.mon_domaine.net.
Enfin vient un enregistrement MX qui définit le nom qualifié de la machine qui est sensée prendre en charge le courrier entrant. Notez le . final. Notez le chiffre 10 qui définit la priorité de cet enregistrement. L'idée est que si vous avez des amis qui ont eux aussi un domaine et un serveur courriel, vous pouvez ajouter d'autres enregistrement MX pointant chez eux. Ainsi si le MX de plus forte priorité ne répond pas, le courrier est envoyé à celui qui une priorité inférieur. Ainsi il est possible de ce backuper les uns les autres pour être certain de ne rien perdre.
Pour chacun des enregistrements 300 indique un délai en secondes que les serveurs utilisent comme base de temps pour les mises à jour. Ici, la mise à jour est faite, en cas de changement des données DNS, toutes les 5 minutes.
Une fois que vos modifications sont correctement propagées sur le net (comptez 24 heures), la mécanique fonctionne de la manière suivante. Lorsqu'un utilisateur du Net veut vous envoyer un courriel, il le fait à l'adresse . Son client de courriel va généralement le poster au serveur de courriel de son fournisseur d'accès. On parle ici de serveur SMTP (Simple Mail Transport Protocol). Le SMTP du FAI va regarder le domaine du destinataire et regarder dans sa définition de zone (celle que nous venons de propager) s'il trouve un enregistrement MX. Lorsqu'il en trouve un il remonte (je simplifie
) à l'enregistrement CNAME pour finalement récupérer son IP par son enregistrement A.
Là, il va se connecter sur cette IP, la votre, sur le port 25 qui correspond à SMTP. Maintenant il faut que quelqu'un lui réponde sinon c'est la cata, courriel perdu, amis fâchés, tout ça, tout ça. Passons donc à l'installation chez nous de ce fameux serveur SMTP, M. Postfix.
L'installation de postfix ne pose aucun problème, c'est plus sa configuration qui rend chauve prématurément. Pour rentrer directement dans le vif de sujet, allons jeté un oeil à ce que devra être la configuration principale du serveur, le fichier /etc/postfix/main.cf. Ce qui suit est une configuration qui fonctionne sur trois serveurs dont j'ai la charge et ce sans problème depuis des années.
Pour commencer, nous avons une volée de paramètres qu'il convient de laisser en états :
# chemins
global_config_directory = /etc/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
queue_directory = /var/spool/postfix
mail_spool_directory = /var/spool/mail
# Les comptes utilisés par postfix
setgid_group = postdrop
mail_owner = postfix
default_privs=nobody
syslog_name = postfix
# différents délais qui marchent bien comme cela...
queue_run_delay = 60s
maximal_backoff_time = 60s
minimal_backoff_time = 50s
delay_warning_time = 4
# liste des éléments de transport
transport_maps = hash:/etc/postfix/transportparamétrages à ne pas toucher
Nous avons là le paramétrage du domaine à gérer par postfix. Assez simple nous concernant.
# le nom qualifié du serveur
myhostname = mon_serveur.mon_domaine.net
# le domaine principal géré par le serveur
mydomain = mon_domaine.net
# Lorsqu'un mail part d'ici, c'est ce domaine qui est inscrit dedans.
myorigin = mon_domaine.net
# On indique ici que le courrier n'est pas à re-expédier ailleurs, mais stocker localement
mydestination = mon_domaine.netdéfinition du domaine
Maintenant il nous faut définir nos "réseaux de confiances", c'est à dire les plages d'adresses IP pour lesquels postfix vous autorisera par exemple l'envoi de courriels vers d'autres serveurs. On y ajoute donc notre réseau local car c'est de là que sera expédié le courrier (plus la peine d'utiliser le SMTP de votre FAI). L'ajout du localhost nous permettra d'installer par exemple un WebMail comme SquirrelMail ou Roundcube sur la même machine que postfix.
mynetworks = 127.0.0.0/8,192.168.154.0/28réseaux de confiance
Ensuite nous indiquons les domaines que postfix a le droit de relayer. Attention à ce paramétrage car il ne faudrait pas que votre serveur devienne ce que l'on appelle un "relais ouvert" permettant aux spammeurs d'accomplir leur méfaits. Vous allez y mettre bien sur votre domaine (mydestination), mais vous pouvez aussi ajouter les domaines "amis" que nous prenons en charge que ce soient ceux correspondant à nos enregistrements MX de backup ou simplement des domaines que vous hébergez chez vous.
relay_domains = $mydestination domaine_ami.netdéfinition des domaines relayables
Normalement lorsque l'on utilise notre postfix pour envoyer un mail, il va chercher directement à contacter le serveur SMTP du destinataire. Si vous ajoutez le paramètre suivant, le courrier sera plutôt envoyé à un serveur intermédiaire. Cette option est pratique par exemple si vous n'avez pas de reverse-dns (genre chez orange...) et que vos destinataires prennent votre serveur pour une source de SPAM
relayhost = smtp.free.frdéfinition d'un serveur SMTP de relais
Vous avez le choix de désactiver ou pas la résolution des noms par DNS. Personnellement je préfère pour éviter qu'une rupture du service DNS, ce qui arrive, entraîne la perte de courrier.
disable_dns_lookups = yes
Pour éviter de trop donner d'informations au monde extérieur sur ce qui tourne sur notre machine, nous donnons ici de charmants petits noms d'oiseaux au serveur :
smtpd_banner = $myhostname Tagazok !
mail_name = PiouPiou
mail_version = 6.6.6
Notre ennemi juré, c'est le SPAM. Le but est donc maintenant d'ajouter au serveur SMTP un ensemble de règles lui permettant de qualifier le courrier entrant. Le principe est que c'est très mais alors très rapide en comparaison de SpamAssassin car directement intégré au moteur SMTP de postfix. Si le test ne passe pas, le vilain est jeté sans somation.
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
check_recipient_access hash:/etc/postfix/spam,
permitQualification des courriels entrant
Alors j'ai mis ici les règles les plus "safe" en ajoutant un "plus" particulièrement intéressant, la référence à un fichier /etc/postfix/spam pouvant contenir des motifs d'adresse cible à rejeter. Cela va nous permettre d'éliminer des adresses non utilisées mais très polluées, typiquement des adresses que vous avez "grillées" et qui sont pourries de SPAM :
vielle_adresse@mon_domaine.net REJECTexemple de fichier /etc/postfix/spam
Nous ajoutons ici une autre liste qui va nous permettre de définir des relations entre adresses email.
virtual_alias_maps = hash:/etc/postfix/virtualDéfinition des domaines virtuels
Ce fichier est plus pratique à utiliser que le classique fichier alias car nous pouvons y mixer des adresses et des domaines :
# tous les courriers pour le domaine mon_domaine.net et mon_second_domaine.net va en priorité à gaston
@mon_domaine.net gaston
@mon_second_domaine.net gaston
# le courrier de robert lui revient
robert@mon_domaine.net robertexemple de fichier /etc/postfix/virtual
Le soft bounce est à manier avec beaucoup de précaution. D'une certaine manière, il assure que vos courriels ne seront jamais rejetés mais stocké en queue si par exemple votre espace disque est totalement consommé ou que SpamAssassin est parti en vrille. En contrepartie, il va ré-émettre comme un sauvage les courriels à "faux numéro", ce qui a le don d'exaspérer les serveurs d'en face avec le risque de vous faire marquer comme spammeur. Personnellement je le laisse à no et le passe à yes lorsque je fais des opérations de maintenance pour ne pas perdre de courrier.
soft_bounce=nodéfinition du 'soft bounce'
Lorsque soft bounce est à no, nous avons donc le risque de perdre du courrier si un élément est défaillant dans la chaîne de traitement des messages (spamassassin en carafe, disque plein, etc). Pour contrer cela, l'astuce est de changer le code d'erreur généré pour un destinataire invalide de 550 (ce qui veut dire "mail rejeté") à 450 (ce qui veut dire "essayez un peu plus tard"). Du coup le serveur d'en face va (de mémoire) retenter l'envoi toutes les 10 minutes pendant 4 heures, avant de déclarer que votre courrier est vraiment mort.
unknown_local_recipient_reject_code = 450stratégie de récupération d'erreurs
Pour terminer, vous pouvez aussi modifier les limites de tailles imposées à un message et une boîte aux lettres (en octets). Cette opération nous permet de recevoir de très gros fichiers sans encombres, ce qui est un autre avantage à posséder son propre serveur :
message_size_limit = 104857600
mailbox_size_limit = 104857600limitation de la taille des messages et des boîtes aux lettres
Maintenant que nous avons paramétré notre serveur, il nous reste à vérifier que cela fonctionne. Le plus simple dans un premier temps est simplement d'utiliser l'antique client telnet que nous allons connecter au port 25 (SMTP) de notre serveur :
root#telnet smtp.mon_domaine.net 25Trying 11.22.33.44...Connected to smtp.mon_domaine.net (11.22.33.44).Escape character is '^]'.220 mon_serveur.mon_domaine.net Tagazok !!gaston$ehlo son_domaine.net250-smtp.mon_domaine.net250-PIPELINING250-SIZE 1004857600250-VRFY250-ETRN250-ENHANCEDSTATUSCODES250-8BITMIME250 DSNgaston$mail from:250 2.1.0 Okgaston$rcpt to:250 2.1.5 Okgaston$data354 End data with <CR><LF>.<CR><LF>gaston$Robert parle à gaston !!gaston$gaston$.250 2.0.0 Ok: queued as D421D908DA0gaston$quit221 2.0.0 ByeConnection closed by foreign host.root#root#Session de test de notre serveur Telnet
Si tout c'est bien passé, gaston devrait ainsi recevoir un courriel de robert. Cette approche peut aussi être utilisée pour tester les barrières anti-spam. Toujours est-il que cela fonctionne, nous pouvons donc passer à la suite, le stockage du courrier.
A ce stade, notre serveur postfix est capable de prendre en charge le courrier entrant, c'est déjà une bonne chose. Côté stockage, si rien n'est fait, le courrier de gaston est posé, à l'ancienne, dans le dossier /var/mail/gaston.
Si votre serveur postfix est sur votre réseau local, vous pouvez changer cela pour utiliser plutôt un stockage via un serveur IMAP comme cyrus ou dovecot (un tutoriel pour cyrus est dispo iciici).
Mais si votre serveur postfix est sur une machine distante (ex. une dédibox), il va falloir trouver un moyen pour que votre courriers soient ré-acheminés sur votre serveur local.
Pour y arriver, une solution assez simple est d'installer un second serveur postfix sur votre réseau local. Ce serveur postfix sera configuré pour ne prendre en cherche que le courrier de votre domaine ce qui au fond reprend à peu prés (au delta du paramétrage des domaines amis) la configuration que nous venons de voir.
Ensuite, la seule chose à faire est d'indiquer au postfix distant comment ré-acheminer le courriels de votre domaine. C'est à cela que sert la table /etc/postfix/transport que nous avons vu en début de configuration.
mon_domaine.net smtp:[11.22.33.44]
domaine_ami.net smtp:[mail.domain_ami.org]Exemple de fichier /etc/postfix/transport
Comme vous le voyez, c'est aussi là que nous traitons le ré-acheminement du courrier du domaine ami que nous avons déclaré plus haut par relay_domains.
Une fois nos deux postfix sont paramétrés, le courriel arrive sur le premier (le serveur distant), est accepté (à cause de relay_domains), puis redirigé sur le serveur local grâce à la table transport. Là vous pouvez un routage final vers votre serveur IMAP, et c'est terminé.
Le filtrage des sales courriels par les règles du moteur SMTP que nous avons vu plus haut est vital mais très loin d'être suffisant. Pour ne pas se faire inonder d'offres plus alléchantes les unes que les autres pour augmenter significativement la taille de votre pénis (ou celui de votre entourage intime), il est indispensable de mettre en oeuvre un système plus évolué, le fameux SpamAssassin.
S'agissant d'un processus qui consomme un peu de CPU, il est préférable, si vous avez une configuration à deux serveurs postfix, de le poser sur la machine la plus véloce. Pour se faire, il faut commencer par installer les paquets spamassassin, spamassassin-spamc, spamassassin-spamd et dcc. spamc est un filtre d'email client/server utilisable avec postfix qui communique avec le démon spamd qui lui utilise spamassassin.
Spamassassin a ses fichiers de paramétrages placés en /etc/mail/spamassasin. Ce dossier contient entre autre /etc/mail/spamassasin/local.cf que vous pouvez modifier comme suit :
dns_available yes
# Activation du systeme Bayes
use_bayes 1
bayes_auto_learn 1
bayes_learn_to_journal 1
bayes_journal_max_size 0
bayes_path /storage/databases/spamassassin/bayes
# Activation de l'auto whitelist
use_auto_whitelist 1
auto_whitelist_path /storage/databases/spamassassin/auto-whitelist
auto_whitelist_file_mode 0666
# Activation de DCC
use_dcc 1
dcc_timeout 8
dcc_home /storage/databases/spamassassin/dcc
# Activation de Pyzor
use_pyzor 1
# Activatin de Razor
use_razor2 1
razor_timeout 8
# Optimisation des scores
score DCC_CHECK 4.500
score SPF_FAIL 10.000
score SPF_HELO_FAIL 10.000
score RAZOR2_CHECK 2.500
score RAZOR2_CF_RANGE_51_100 3.500
score BAYES_99 5.300
score BAYES_95 4.500
score BAYES_80 3.500
score BAYES_60 2.500
score BAYES_50 2.000
# Langages
ok_languages en fr vi
ok_locales en
#required_hits 5
#add_header all Report _REPORT_
header Subject /SPAM/
report_safe 1configuration spamassassin
Pas grand chose à signaler sur cette configuration assez simple à comprendre. Pour les différentes stratégies de filtrage (bayes, pyzor, razor2, etc.) demandez à M. Google qui expliquera cela beaucoup mieux que moi.
La version 3 de spamassassin fonctionne par plugins. Il y en a deux qui nous intéresse d'activer par rapport à notre configuration : dcc et textcat. Le premier va utiliser une base de données de spam, le second permet de deviner le langage d'un spam. Pour cela nous devons éditer le fichier /etc/mail/spamassassin/v310.pre pour décommenter les deux lignes suivante :
loadplugin Mail::SpamAssassin::Plugin::DCC
(...)
loadplugin Mail::SpamAssassin::Plugin::TextCatparamétrage des greffons spamassassin
Nous allons maintenant créer un utilisateur spamassassin qui va avoir comme dossier home /var/spool/spamassassin. Ce dossier contiendra tout le paramétrage et les mise à jours de spamassassin :
root#mkdir /var/spool/spamassassinroot#useradd -d /var/spool/spamassassin -s /bin/false spamassinroot#chown spamassassin:spamassassin /var/spool/spamassassin -Rcroot#création de l'utilisateur spamassassin
Maintenant que spamassassin est paramétré, il nous reste à vérifier que son démon, spamd, fonctionne. Sous Mandriva, le paramétrage du lancement de spamd est contrôlé par le fichier /etc/sysconfig/spamd. Les valeurs par défaut sont correctes mais on peut aussi rajouter -D pour des traces de debuggage.
SPAMDOPTIONS="-d -c -m5 -H"
USE_SA_UPDATE=1paramétrage de spamd
Il suffit maintenant de lancer spamd et de vérifier dans les logs que tout s'est bien passé:
root#service spamd startroot#tail -f /var/log/syslog...root#
Si aucune erreur n'apparaît dans les logs, le démon spamassassin est en route. Reste maintenant à paramétrer postfix.
Nous allons indiquer à postfix pour qu'il insére un script de notre cru dans la chaîne de traitement des courriers, juste après la réception par le moteur SMTP. Pour cela, modifier le fichier /etc/postfix/master.cf comme suit :
smtp inet n - n - - smtpd -o content_filter=spamassassin:insertion du filtrage de SPAM sur le module SMTP de postfix
et rajouter à la fin du fichier :
spamassassin unix - n n - - pipe flags=Rq user=spamassassin argv=/usr/bin/spamassassin.sh -f ${sender} -- ${recipient}insertion du filtrage de SPAM sur le module SMTP de postfix
Tout est en place, il faut maintenant fabriquer le script de filtrage dont le but est de recevoir le courrier entrant (postfix), de le traiter avec spamassassin via spamc/spamd, puis de le ré-expédier sur la chaîne suivante. Le script est à placer (par exemple) dans le fichier /usr/bin/spamassassin.sh :
#!/bin/bash
/usr/bin/spamc | /usr/sbin/sendmail -i "$@"
exit $?script de filtrage des spams
Ceci fait, il faut juste rendre ce script exécutable et opérer un petit redemarrage de postfix et c'est fini. Vous pouvez auditer les logs par un tail -f /var/log/mail/* pour vérifier que tout ce passe correctement. Et si tout marche, il ne reste plus qu'à attendre 10 secondes qu'un pourriel se présente
L'objectif de cette commande est de permettre aux messages d'être à nouveau interprétés par postfix pour être replacés dans les bonnes queues. Elle est notamment très utile lorsque l'on a des erreurs de configuration qui une fois corrigé laissent des messages en attente (ex. désinstallation d'amavis et message d'erreur warning: connect to transport smtp-amavis: No such file or directory) :
root#postsuper -r ALLpostsuper: Requeued: 5 messagesroot#remise en queue des messages
Lorsque Postfix n'arrive à rien faire d'un message, il le met en file d'attente. Les commande suivantes permette d'avoir l'état de ces files :
# ces deux commandes sont équivalentesroot#postqueue -f-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------1DEC5908D05 3716 Mon Jan 19 14:33:50(mail forwarding loop for )root#mailq-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------1DEC5908D05 3716 Mon Jan 19 14:33:50(mail forwarding loop for )root#Affichage des messages en non-traités
La commande précédente donne la liste des messages en attente dans la queue de postfix (généralement des spams
). Chaque message dispose d'un ID qui permet de le détruire spécifiquement :
root#postqueue -d ID_MESSAGEroot#destruction d'un message unique
S'il s'agit de détruire tous les messages en queue (attention !!) vous pouvez utilisez la commande suivante :
root#postqueue -d ALLpostsuper: Deleted: 5 messagesroot#destruction de tous les messages en queue
Pour voir de plus prés l'utilisation d'une queue :
root#qshape deferredT 5 10 20 40 80 160 320 640 1280 1280+TOTAL 7 0 0 0 0 0 0 0 1 0 6chez.com 6 0 0 0 0 0 0 0 0 0 6tiscali.fr 1 0 0 0 0 0 0 0 1 0 0root#Profile des queues
Si vous avez dans vos logs l'erreur suivante warning: mail_queue_enter: create file maildrop/163133.6208: Permission denied, une solution possible est de lancer les commandes suivantes :
root#postfix set-permissionsroot#postfix reloadroot#correction des droits postfix
Voilà, fin du petit tour de l'horizon postfix et associés. Qui a dit que la liberté n'avait pas de prix ?
Belle approche de Postfix, merci !
Tu me coupe l'herbe sous le pied
http://www.catapulse.org/articles/view/92 (version non complète, catapulse fait des siennes
)
Merci pour les astuces
Ah effectivement comme disent nos amis "new age", ça c'est de la synchronicité
J'ai lié ton billet pour la partie dovecot, faudrait que je tente cela à l'occasion. Sinon question, à quoi te sert de passer par MySQL, j'ai pas bien compris. J'ai plusieurs utilisateurs qui n'ont pas de compte locaux et ça marche bien.
Disons que ça te permet de créer des domaines, utilisateurs et alias virtuels comme tu le fais me semble-t-il bien que je n'ai pas vu ou et comment tu configure ces utilisateurs ? Dans le fichier /etc/postfix/virtual ? mais dans ce cas il te faut bien la présence des utilisateurs gaston et robert sur le système non ?
Sinon il y a l'interface web postfixadmin qui te permet de gérer lesdits utilisateurs.
Hum, c'est toi qui a raison, je viens de re-regarder mon tuto cyrus et effectivement je double. Bon, ceci dit c'est pas la mort, c'est juste une ligne dans le fichier passwd/shadow.
Merci pour cet article exactement ce que je cherchais
Salut,
Exactement les infos qu'il me manquait pour bien mettre tout ça en place. Merci.
Par contre, j'aurai voulu avoir un exemplaire papier et le lien pdf me genere un pdf avec une belle page 403.
Laurent
C'est bon pour le PDF maintenant, j'ai tué le gremlins
Ça, c'est un billet intéressant ! À lire à tête reposée (vu la longueur).
Hors-sujet : avec quel logiciel as-tu fais tes beaux schémas ?
Avec OpenOffice, tout simplement
Gérer la réception des emails est assez faisable, par contre en envoyer dans de bonnes conditions est autre chose.
Gérer les soucis avec les tonnes de blacklist peut être pénible, et pas mal de systèmes anti-spam (ceux que vous ignorez et qui influent sur le courrier que vous envoyez) ont des drôles de présemptions : une IP dynamique et c'est vraiment vraiment mal barré, une IP fixe d'une connexion ADSL et c'est quand même souvent la galère (d'où l'intérêt d'une IP d'un dédié en RPS/dédibox/kimsufi ou d'un virtuel, quand on est capable de se faire désinscrire des blacklist des fois que l'IP aurait été ré-attribuée suite au départ d'un spammeur). D'ailleurs utiliser le smtp free en sortie n'est pas la solution universelle...
Sinon pour être tranquille, il faut aussi gérer le SPF (oui cette m***e), non pas pour filtrer les messages que vous recevez mais pour donner des résultats positifs à ceux qui vous reçoivent...
Bref à la fin on se rend facilement compte que paramétrer son système d'email à soi, ça prend du temps (voire de l'argent), temps qu'il est dur de rentabiliser pour un particulier (quand c'est un serveur de mail d'une entreprise qui gère les courriers de dizaines/centaines/milliers d'employés, c'est autre chose).
La config que je donne ici tournait depuis 3 ans sur mon serveur perso, en local, via ADSL Orange et relais SMTP orange. A l'époque s'était uniquement pour moi et ma famille et je n'ai pas le souvenir d'un si pénible travail, surtout mis en balance avec le fait de ne plus devoir être dépendant d'un fournisseur pour notre courrier. Aujourd'hui, tout le monde est tellement habitué à ce que je crée des adresses à la demande que je me ferais sûrement décapité si je revenais en arrière.
Enfin, fepuis deux ans il fonctionne sur dedibox et RDNS, encaisse des centaines de spams par jours (heure ?
, prend en charge 5 domaines dont 3 professionnels et une 20aine de comptes et je n'ai pour l'heure jamais perdu de courrier dans un sens ou dans l'autre. Quant à la maintenance, disons que je me suis bien pris la tête au début, un peu encore au boût d'un an pour le coup du soft bounce et du filtrage SMTP, et depuis, plus rien. Juste un vidage de la queue de temps à autre. Et en 3 ans je n'ai eu qu'un problème de black-listage à cause justement de ce maudit soft bounce.
Tout ça pour dire qu'avec le pré-requis IP fixe avec RDNS ou un relai vers le smtp du fournisseur rend ce type de solution accessible à n'importe qui d'un peu bricoleur.
Pour la gestion du SPF c'est dans le pipe, j'amenderais le tuto si j'arrive à le faire tourner de manière satisfaisante.
Bref, je ne dis pas que je suis pas d'accord avec toi, je te trouve juste un brin alarmiste
Euh, qui dit relais SMTP dit garder une certaine dépendance. On peut certes changer quand l'on veut de relais SMTP parmi ceux disponible, mais en pratique soit faut prendre celui du FAI (généralement gratuit), soit il faut commencer à sortir le porte-monnaie (les relais smtp gratuits pour tous étant rarement un bon moyen d'être sur de passer tous les filtres de tous les destinataires).
Tout a fait d'accord sur ce point, mais comme tu l'a si justement exposé, c'est une dépendance à mettre en balance avec le service rendu de la gestion des blacklist & co déléguée à ton FAI.
La dépendance est surtout liée à la disponibilité du serveur relais qui peut tomber. Elle pourrait aussi l'être à la sécurité un peu compromise par cet intermédiaire si de toute façon le courrier ne circulait pas sur réseau du dit FAI.
Du coup ne reste que la disponibilité, et en contrepartie tu jouis :
* de la capacité de créer les comptes que tu veux,
* de créer des adresses de type "catch all"
* de gérer le spam à ta convenance, typiquement moi j'ai besoin de rajouter le vietnamien au langues autorisées par SpamAssassin,
* de gérer des whitelists par utilisateurs
* de stocker ton courrier sur ton serveur sans risque de regards indiscrets,
* de disposer du webmail qui te plais le plus,
* de router de manière directe les courriels entre domaines amis qui eux n'utilisent pas le SMTP du FAI.
Bref, cette solution du relais me paraît pas mal tout de même pour obtenir le maximum d'effets avec un minimum d'efforts.
Salut,
Au risque de me répéter c'est encore un très bon article ! Et pour ne pas perdre les bonnes habitudes, une petite correction à faire : pour visualiser les messages dans la queue il faut utiliser postqueue -p, postqueue -f sert à forcer le vidage de la queue. Et sinon comme filtre antispam il y a aussi bogofilter qui est écrit en C et sera peut être plus rapide que Spamassassin qui est écrit en Perl (je dis peut être des conneries ! A vérifier !) mais qui est peut être moins puissant (d'après leur présentation dans les paquets Debian et sur Wikipédia, mais là aussi je dis peut être des conneries ne les ayant testés ni l'un ni l'autre !).
Et pour finir un des gros avantages de disposer de son serveur est de pouvoir faire des mailing (avec le consentement des destinataires bien sûr) car même le serveur d'un mutualisé "90 Plan" chez OVH limite l'envoi à 100 messages par heure, ce qui est parfois insuffisant.
A+
Bonjour, super article ! Mais j'ai une petite question (problème...
) concernant le serveur de mail postfix. J'imagine que vous avez tous (ou une partie) entendu parlé des "graylist" dont le principe est que lors de l'envoi du mail au serveur SMTP distant, celui-ci enregistre un triplé d'information et demande de renvoyer le mail à une heure donnée (sinon il est retourné en Undelivred message). Le problème c'est que je ne sais pas comment (quel configuration) il faut mettre au serveur postfix pour que celui-ci renvoie automatiquement le mail à l'heure donnée.
Résultat sur certain serveur qui utilise la méthode de graylist pour filtrer les SPAMs je ne peux plus communiquer avec les utilisateurs...
Sur certain forum il parle de modifier les variables suivantes (présente dans la première partie de l'article)
# différents délais qui marchent bien comme cela...
queue_run_delay = 60s
maximal_backoff_time = 60s
minimal_backoff_time = 50s
delay_warning_time = 4
mais je ne sais pas quelle configuration va permettre de ré-envoyer le message à une heure précise.
En tout cas cet article est super (et le site aussi ! je ne connaissait pas mais je le trouve très utile et précis au niveau des configurations)
Merci d'avance !
Alors là je ne sais pas du tout. J'ai entendu parler de ces listes grises mais pour l'instant je n'ai pas l'impression d'avoir été touché. Merci en tout cas pour la piste mais de mon côté je ne peux pas beaucoup aider malheureusement.
Et quid d'exim ?
Perso, j'installe mon réseau domestique et je cherche donc quel serveur mail installer. La fonction : serveur SMTP pour mon réseau LOCAL et relay vers le smtp de mon FAI. Je partais sur un exim, mais la lecture de cet article me fait douter. Comment décider ?
Poster un nouveau commentaire