{"id":3921,"date":"2020-01-01T20:21:13","date_gmt":"2020-01-01T19:21:13","guid":{"rendered":"https:\/\/olivier.hoarau.org\/?p=3921"},"modified":"2020-01-01T20:21:13","modified_gmt":"2020-01-01T19:21:13","slug":"architecture-avec-serveur-mail-local","status":"publish","type":"post","link":"https:\/\/olivier.hoarau.org\/?p=3921","title":{"rendered":"Architecture avec serveur mail local"},"content":{"rendered":"\n<p>Dans <a href=\"https:\/\/olivier.hoarau.org\/?p=3887\">un post pr\u00e9c\u00e9dent<\/a> j&rsquo;avais \u00e9voqu\u00e9 l&rsquo;installation d&rsquo;un serveur webmail bas\u00e9 sur <strong>Roundcube mail<\/strong>. L&rsquo;int\u00e9r\u00eat de la manip est de pouvoir stocker ses mails sur son serveur perso et de pouvoir y acc\u00e9der d&rsquo;internet sur un mobile perso sous android (ou autres) o\u00f9 qu&rsquo;on soit. Et donc d&rsquo;\u00eatre ind\u00e9pendant d&rsquo;un GAFAM qui n&rsquo;aura aucun scrupule \u00e0 d\u00e9cortiquer les mails pour en tirer un quelconque profit. Dans ce post je vais aller plus loin en pr\u00e9sentant l&rsquo;architecture globale de r\u00e9ception et d&rsquo;envoi de mail. <\/p>\n\n\n\n<p>L&rsquo;id\u00e9e g\u00e9n\u00e9rale est que mon serveur r\u00e9cup\u00e8re les mails sur des serveurs <strong>POP<\/strong> ou <strong>IMAP<\/strong> sur internet des utilisateurs du r\u00e9seau local, puis les passe au travers de filtres anti spam et anti virus avant de les d\u00e9livrer \u00e0 un serveur de mail local. Ils peuvent \u00eatre ensuite consult\u00e9s via un client lourd du r\u00e9seau local comme <strong>Thunberdird<\/strong>, ou d&rsquo;un navigateur via le webmail du r\u00e9seau local ou d&rsquo;internet sur un mobile. Pour l&rsquo;envoi de mail, les mails ne partent pas directement vers un serveur <strong>SMTP<\/strong> sur internet (g\u00e9n\u00e9ralement celui du FAI) mais passe d&rsquo;abord par le serveur de mail local avec sa batterie anti spam et anti virus.<\/p>\n\n\n\n<p>Commen\u00e7ons par un petit sch\u00e9ma qui vaut bien des discours.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.funix.org\/fr\/linux\/images\/mail\/architecture-mail.jpg?w=474&#038;ssl=1\" alt=\"\"\/><\/figure>\n\n\n\n<p>Cette architecture s&rsquo;appuie sur plusieurs outils:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>fetchmail<\/strong> permet de r\u00e9cup\u00e9rer les mails des utilisateurs du r\u00e9seau local sur des serveurs <strong>POP <\/strong>ou<strong> IMAP <\/strong>accessibles sur internet<\/li><li><strong>sendmail<\/strong> (MTA mail transport agent) serveur <strong>SMTP<\/strong> qui permet de g\u00e9rer localement  la r\u00e9ception des mails et d&rsquo;appliquer certains filtres anti spam et anti virus pour cela on se basera sur <strong>SpamAssassin<\/strong> et <strong>ClamAV<\/strong><\/li><li><strong>procmail<\/strong> (MDA mail delivery agent) permet de d\u00e9livrer les mails       et les dispatcher suivant le destinataire, il peut \u00e9galement appliquer d&rsquo;autres filtres<\/li><li> le serveur <strong>IMAP<\/strong> permet de rendre accessible  aux lecteurs de mails (MUA Mail User Agent) du r\u00e9seau local les mails qui sont arriv\u00e9s, que vos clients soient sous windows ou sous linux.<\/li><li>le serveur <strong>webmail<\/strong> bas\u00e9 sur <strong>Roundcube mail <\/strong>permet de g\u00e9rer les mails via un navigateur,  y compris d&rsquo;un t\u00e9l\u00e9phone mobile via internet.  Pour cela il faudra rendre son serveur <a href=\"https:\/\/www.funix.org\/fr\/linux\/index.php?ref=apache2\">apache<\/a> visible d&rsquo;internet, tout l&rsquo;int\u00e9r\u00eat de la manip est de rendre accessible d&rsquo;internet que le serveur <strong>apache<\/strong>, il n&rsquo;est pas n\u00e9cessaire d&rsquo;ouvrir  les ports du serveur <strong>IMAP<\/strong> ou <strong>SMTP<\/strong>.<\/li><\/ul>\n\n\n\n<p>Pendant longtemps j&rsquo;ai utilis\u00e9 un serveur <strong>POP<\/strong> local, j&rsquo;y acc\u00e9dais via <strong>thunderbird<\/strong> et pour que les mails soient accessibles sur tous les postes du r\u00e9seau local, le r\u00e9pertoire<strong> .thunderbird <\/strong>dans lequel sont stock\u00e9s les mails \u00e9tait partag\u00e9 par partage <strong>NFS<\/strong>. Inconv\u00e9nient de la m\u00e9thode, les mails ne sont accessibles que du r\u00e9seau local et d&rsquo;un client lourd. Je suis pass\u00e9 au serveur <strong>IMAP<\/strong> pour pouvoir installer un webmail car il permet de  pouvoir g\u00e9rer une arborescence de dossiers de mails. C&rsquo;est \u00e0 dire sous <strong>thunderbird<\/strong> j&rsquo;ai initialement class\u00e9 mes mails dans des dossiers et sous dossiers, et seul <strong>IMAP<\/strong> permet de retrouver la m\u00eame arborescence avec le webmail  \u00e0 partir d&rsquo;un navigateur ou d&rsquo;un mobile. Pour ce faire j&rsquo;ai d\u00fb migrer le format de stockage de mes mails de <strong>mbox<\/strong> (en gros les mails d&rsquo;un dossier sont dans un fichier unique) vers <strong>maildir (<\/strong>un mail est un fichier et un dossier est un r\u00e9pertoire).       <\/p>\n\n\n\n<p>C&rsquo;est une architecture qui peut para\u00eetre particuli\u00e8rement lourdingue et  qui se base sur des outils qu&rsquo;on peut consid\u00e9rer comme obsol\u00e8te  comme <strong>sendmail<\/strong>. Certes, certains disent que tant qu&rsquo;on a pas  chercher \u00e0\u00a0 configurer <strong>sendmail<\/strong>, on n&rsquo;est pas un vrai  administrateur syst\u00e8me&#8230; Disons que j&rsquo;ai mis en place <strong>sendmail<\/strong> il y a  maintenant plus de 20 ans sur mon r\u00e9seau local \u00e0 l&rsquo;\u00e9poque o\u00f9 il \u00e9tait  encore largement r\u00e9pandu notamment dans le milieu professionnel et qu&rsquo;il  s&rsquo;adaptait assez bien \u00e0 la gestion des mails \u00e0  l&rsquo;\u00e9poque des modems 56k et des adresses mails partag\u00e9s entre plusieurs  utilisateurs. Il existe maintenant bien plus facile \u00e0 administrer comme  <strong>postfix<\/strong> mais j&rsquo;ai choisi d&rsquo;\u00eatre le dernier des mohicans et donc je  pers\u00e9v\u00e8re \u00e0 utiliser <strong>sendmail<\/strong>.<\/p>\n\n\n\n<p>Du coup j&rsquo;ai toilett\u00e9 mes pages sur le site <a href=\"https:\/\/www.funix.org\">FUNIX<\/a> sur la gestion des mails, il s&rsquo;agit notamment de :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>la page sur la<a href=\"https:\/\/www.funix.org\/fr\/linux\/index.php?ref=mail\"> r\u00e9ception du courrier et mise \u00e0 disposition (POP, IMAP, webmail)<\/a>, <\/li><li> la page sur la <a href=\"https:\/\/www.funix.org\/fr\/linux\/index.php?ref=filtrermail\">lutte anti spams et anti virus<\/a>, avec <strong>SpamAssassin<\/strong> et  <strong>ClamAV<\/strong> <\/li><li>et la page sur la <a href=\"https:\/\/www.funix.org\/fr\/linux\/index.php?ref=sendmail\">gestion du transport du mail avec sendmail<\/a>.<\/li><\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans un post pr\u00e9c\u00e9dent j&rsquo;avais \u00e9voqu\u00e9 l&rsquo;installation d&rsquo;un serveur webmail bas\u00e9 sur Roundcube mail. L&rsquo;int\u00e9r\u00eat de la manip est de pouvoir stocker ses mails sur son serveur perso et de pouvoir y acc\u00e9der d&rsquo;internet sur un mobile perso sous android (ou autres) o\u00f9 qu&rsquo;on soit. Et donc d&rsquo;\u00eatre ind\u00e9pendant d&rsquo;un GAFAM qui n&rsquo;aura aucun scrupule &hellip; <a href=\"https:\/\/olivier.hoarau.org\/?p=3921\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Architecture avec serveur mail local<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false,"_share_on_mastodon":"0"},"categories":[5,12],"tags":[37,35,36,38],"class_list":["post-3921","post","type-post","status-publish","format-standard","hentry","category-logiciels-libres","category-vie-de-funix","tag-imap","tag-serveur-mail","tag-smtp","tag-webmail"],"share_on_mastodon":{"url":"","error":""},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/peOjJ-11f","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/3921","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3921"}],"version-history":[{"count":1,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/3921\/revisions"}],"predecessor-version":[{"id":3922,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/3921\/revisions\/3922"}],"wp:attachment":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3921"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3921"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3921"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}