{"id":67,"date":"2013-08-31T00:34:54","date_gmt":"2013-08-30T22:34:54","guid":{"rendered":"https:\/\/wtf.roflcopter.fr\/blog\/?p=67"},"modified":"2013-11-12T21:21:51","modified_gmt":"2013-11-12T19:21:51","slug":"a-sous-lbus-google-partie-2","status":"publish","type":"post","link":"https:\/\/wtf.roflcopter.fr\/blog\/2013\/08\/31\/a-sous-lbus-google-partie-2\/","title":{"rendered":"A+ sous l\u2019bus Google \u2013 Partie 2"},"content":{"rendered":"<p><strong>Les articles qui vont suivre ne sont pas des tutos \u00e0 par enti\u00e8re, disons que c&rsquo;est plus une marche \u00e0 suivre. Je vais essayer d&rsquo;\u00eatre le plus indicatif possible mais je vais s\u00fbrement zapper des choses. Si un truc n&rsquo;est pas clair, faites le savoir dans les commentaires et j&rsquo;essaierai de compl\u00e9ter l&rsquo;article !<\/strong><\/p>\n<p>&nbsp;<\/p>\n<h1><span style=\"font-size: 21px; line-height: 1.5;\">Le serveur mail<\/span><\/h1>\n<p>La premi\u00e8re chose \u00e0 faire c&rsquo;est &#8211; sans surprise &#8211; installer un serveur de mail. Perso avant de me lancer dans ce projet j&rsquo;avais une fois touch\u00e9 \u00e0 Postfix\/MySQL avec des <em>virtual mailbox<\/em> pour faire des simples redirections mails.\u00a0Autant dire que je partais de loin&#8230;<\/p>\n<p>Tout ce que je savais c&rsquo;est qu&rsquo;il faut :<\/p>\n<ul>\n<li>un <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Mail_Transfer_Agent\">MTA<\/a>,<\/li>\n<li>un spamassassin : impossible de faire sans maintenant,<\/li>\n<li>un clamav : histoire de faire le tri dans les <a href=\"http:\/\/thanat0s.trollprod.org\/2013\/03\/mon-facture-exe-est-un-zeus\/\">facture.exe<\/a> (ou pas),<\/li>\n<li>et un dovecot pour l&rsquo;acc\u00e8s IMAP\/POP3.<\/li>\n<\/ul>\n<p>Voici un sch\u00e9ma qui r\u00e9sume comment tout \u00e7a est embranch\u00e9 :<\/p>\n<p><a href=\"https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/how-postfix-dovecot-amavis-clamav-and-spamassassin-work-postfix-the-bigpicture.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-115 alignnone\" alt=\"how-postfix-dovecot-amavis-clamav-and-spamassassin-work-postfix-the-bigpicture\" src=\"https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/how-postfix-dovecot-amavis-clamav-and-spamassassin-work-postfix-the-bigpicture.png\" width=\"815\" height=\"894\" srcset=\"https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/how-postfix-dovecot-amavis-clamav-and-spamassassin-work-postfix-the-bigpicture.png 815w, https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/how-postfix-dovecot-amavis-clamav-and-spamassassin-work-postfix-the-bigpicture-273x300.png 273w\" sizes=\"auto, (max-width: 815px) 100vw, 815px\" \/><\/a><\/p>\n<ol>\n<li>Un mail est re\u00e7u par Postfix,<\/li>\n<li>Apr\u00e8s v\u00e9rification de l&rsquo;exp\u00e9diteur (blacklist, authentification si n\u00e9cessaire, greylisting,&#8230;) il est esnuite envoy\u00e9 \u00e0 Amavis pour une analyse de son contenu,<\/li>\n<li>SpamAssasin v\u00e9rifie via ses filtres si on ne vous demande pas d&rsquo;augmenter la taille de votre organe reproducteur,<\/li>\n<li>ClamAV jette un coup d&rsquo;oeil aux pi\u00e8ces jointes,<\/li>\n<li>Le mail est renvoy\u00e9 \u00e0 Postfix&#8230;<\/li>\n<li>&#8230; qui se fait un plaisir de demander \u00e0 Dovecot de le ranger au bon endroit<\/li>\n<li>Dovecot v\u00e9rifie l&rsquo;\u00e9tat du quota de l&rsquo;utilisateur, et analyse les r\u00e8gles de filtrage de l&rsquo;utilisateur afin de prendre une d\u00e9cision sur l&rsquo;action \u00e0 faire (stockage dans le bon dossier ou renvoi du mail),<\/li>\n<li>L&rsquo;utilisateur s&rsquo;authentifie aupr\u00e8s de Dovecot en IMAP ou POP3 afin d&rsquo;acc\u00e9der au mail.<\/li>\n<\/ol>\n<p><span style=\"font-size: 1em; line-height: 1.5;\">Sans r\u00e9elle connaissance et vu que le temps pressait (rapport \u00e0 l&rsquo;affaire Prism) j&rsquo;ai donc d\u00e9cid\u00e9 de partir sur une solution cl\u00e9 en main et d&rsquo;apprendre sur le tas.<\/span><\/p>\n<p><!--more--><\/p>\n<h1>IredMail<\/h1>\n<p>Qu\u00e9c\u00e9quoi ? IredMail c&rsquo;est un \u00ab\u00a0gros script\u00a0\u00bb qui a pour but de vous pr\u00e9parer une solution de mail cl\u00e9 en main en \u00a0installant les packages officiels de votre distrib Linux pr\u00e9f\u00e9r\u00e9e, vous poser quelques questions et g\u00e9n\u00e9rer les fichiers de configuration en cons\u00e9quence. Principal avantage : c&rsquo;est facile \u00e0 maintenir, \u00e7a fonctionne bien et toute la configuration reste accessible.<\/p>\n<p>IredMail est open-source et propose aussi une solution \u00ab\u00a0pro\u00a0\u00bb (donc payante), cette version ne fait qu&rsquo;ajoute un <em>panel<\/em> de configuration plus avanc\u00e9. Les <em>features<\/em> entre les deux sont donc les m\u00eames, il faut juste mettre les mains dans le cambouis dans notre cas, pas de panique ce n&rsquo;est pas sale :)<\/p>\n<p>Pour les debian-istes vous pouvez partir sans souci sur une Wheezy (m\u00eame si pour le moment la version recommand\u00e9e est Squeeze).<br \/>\nSeul pr\u00e9-requit pour l&rsquo;installation d&rsquo;Iredmail : avoir une machine fra\u00eechement install\u00e9e (ou propre de tout paquet \u00e9trange).<\/p>\n<p>T\u00e9l\u00e9chargez iRedmail : <a href=\"http:\/\/www.iredmail.org\/download.html\">http:\/\/www.iredmail.org\/download.html<\/a>\u00a0et ensuite suivez le bon tuto en fonction de votre distrib :\u00a0<a href=\"http:\/\/www.iredmail.org\/doc.html\">http:\/\/www.iredmail.org\/doc.html<\/a>\u00a0(je ne vais pas en faire un ici, la doc est plut\u00f4t explicite )<\/p>\n<p>Une chose par contre, il faut <strong>choisir l&rsquo;installation avec LDAP<\/strong>, c&rsquo;est indispensable pour la suite :)<\/p>\n<p>Une fois l&rsquo;installation termin\u00e9e, iRedMail ne vous laisser pas seul et g\u00e9n\u00e8re un fichier\u00a0<em>iRedMail.tips, <\/em>c&rsquo;est un rapport de son installation, contenant :<em>\u00a0<\/em><\/p>\n<ul>\n<li>Les softs d\u00e9ploy\u00e9s<\/li>\n<li>Leurs fichiers de configuration<\/li>\n<li>Leurs fichiers de log<\/li>\n<li>Les login\/pass associ\u00e9s<\/li>\n<li>L&rsquo;URL (si besoin)<\/li>\n<\/ul>\n<p>Ce fichier est \u00e0 garder pr\u00e9cieusement et surtout \u00e0 l&rsquo;abris des regards indiscrets, genre pas sur votre serveur, dans un Keepass ou un container Truecrypt par exemple :)<\/p>\n<p>&nbsp;<\/p>\n<h2>Config DNS<\/h2>\n<p>J&rsquo;imagine que vous avez d\u00e9j\u00e0 fait pointer le MX de votre domaine sur l&rsquo;IP de votre serveur, si non, ce n&rsquo;est pas une mauvaise id\u00e9e de le faire maintenant ;)<\/p>\n<p>Cette \u00e9tape permet d&rsquo;\u00e9viter de faire rel\u00e9guer au rang de spammer\u00a0et d&rsquo;authentifier ses mails pour lutter contre le phishing gr\u00e2ce au <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Sender_Policy_Framework\">SPF<\/a> et au <a href=\"https:\/\/fr.wikipedia.org\/wiki\/DKIM\">DKIM<\/a>.<\/p>\n<p>Pour cela, deux tutos \u00e0 suivre :<br \/>\n<a href=\"https:\/\/code.google.com\/p\/iredmail\/wiki\/DNS_SPF\">https:\/\/code.google.com\/p\/iredmail\/wiki\/DNS_SPF<\/a>\u00a0(backup <a href=\"https:\/\/wtf.roflcopter.fr\/archive\/index.php?public&amp;publicget=2013-11-12-19-15-15\">ici<\/a>)<br \/>\net<br \/>\n<a href=\"https:\/\/code.google.com\/p\/iredmail\/wiki\/DNS_DKIM\">https:\/\/code.google.com\/p\/iredmail\/wiki\/DNS_DKIM<\/a>\u00a0(backup <a href=\"https:\/\/wtf.roflcopter.fr\/archive\/index.php?public&amp;publicget=2013-11-12-19-16-56\">ici<\/a>)<\/p>\n<p>Petit d\u00e9tail, pour DKIM il ne faut pas utiliser :<\/p>\n<pre class=\"brush: bash; gutter: true\">amavisd<\/pre>\n<p>mais :<\/p>\n<pre class=\"lang:sh decode:true\">amavisd-new<\/pre>\n<p><span style=\"font-size: 1em; line-height: 1.5;\">Attention aussi de bien mettre la valeur du record <\/span><span style=\"text-decoration: underline;\">en une seule ligne<\/span><span style=\"font-size: 1em; line-height: 1.5;\"> comme indiqu\u00e9.<\/span><\/p>\n<p>Au final votre configuration DNS doit ressembler \u00e0 \u00e7a (si on prend l&rsquo;exemple de roflcopter.fr) :<\/p>\n<pre class=\"brush: bash; gutter: true\">#On fait pointer mail.roflcopter.fr sur l'ip o\u00f9 se trouve le serveur mail\r\nmail.roflcopter.fr IN A 88.190.227.29\r\n\r\n#Le record MX pour que l'on sache o\u00f9 envoyer les mails associ\u00e9s au domaine (avec un poids de 10)\r\nroflcopter.fr IN MX mail.roflocpter.fr 10\r\n\r\n#Le fameux record SPF qui n'autorise l'envoie de mail qu'\u00e0 partir du serveur mail\r\nroflcopter.fr IN TXT v=spf1 mx ip4:88.190.227.29 -all\r\n\r\n#Et la signature DKIM du domaine \r\ndkim._domainkey.roflcopter.fr IN TXT v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUYlb7IRgFpFd\/C7kVKd3694eobYEn6CHcQzQcnwQSOTPtyUrdbT3wksY3c3PLcSREIL1JE6kr8dDBC2Ed6vjZXSINcIMIT3fVWoZxEVe+pYM6aAJI4cr6ydJKop\/Xn3xZJ3ugAeMkKIEM1mT+5JR1g7fPD3HTY+Sn5oW\/bM37LwIDAQAB<\/pre>\n<h2><span style=\"line-height: 1.6;\">Premiers pas et tests<\/span><\/h2>\n<p>3 URL \u00e0 retenir :<\/p>\n<ul>\n<li>https:\/\/&lt;votre_ip&gt;<strong>\/iredadmin\/<\/strong>, c&rsquo;est l&rsquo;acc\u00e8s \u00e0 l&rsquo;interface d&rsquo;admin d&rsquo;IredMail, c&rsquo;est ici que vous allez ajouter des domaines et cr\u00e9er des comptes mails.<\/li>\n<li>https:\/\/&lt;votre_ip&gt;<strong>\/mail<\/strong> ou<strong> \/webmail\/<\/strong>, c&rsquo;est votre webmail : \u00ab\u00a0roundcube\u00a0\u00bb.<\/li>\n<li>https:\/\/&lt;votre_ip&gt;<strong>\/phpldapadmin\/<\/strong>, c&rsquo;est ici que vous allez parfois mettre les mains dans le cambouis : ce n&rsquo;est pas sale :)<\/li>\n<\/ul>\n<p>Allez rendez-vous sur la page d&rsquo;iredadmin, et allez cr\u00e9er votre domaine et votre compte mail, vous pourrez ensuite vous connecter sur le webmail.<\/p>\n<p>Avant de tester l&rsquo;envoie de mail, v\u00e9rifiez si vos MX sont \u00e0 jour, allez dans une console (windows ou linux) et tapper les commandes suivantes :<\/p>\n<pre class=\"lang:sh decode:true brush: bash; gutter: true\">nslookup\r\nset type=MX\r\n&lt;tapez votre domaine&gt;<\/pre>\n<p>Vous devriez obtenir une r\u00e9ponse de cette forme :<\/p>\n<pre class=\"brush: bash; gutter: true\">Non-authoritative answer:\r\nroflcopter.fr MX preference = 10, mail exchanger = mail.roflcopter.fr<\/pre>\n<p>Vous pouvez donc envoyer un mail \u00e0 votre nouvelle adresse. Une bonne chose \u00e0 faire est de surveiller en parall\u00e8le le fichier de log de postfix :<\/p>\n<pre class=\"brush: bash; gutter: true\">tail -f \/var\/log\/mail.log<\/pre>\n<p>Exemple <a href=\"https:\/\/wtf.roflcopter.fr\/paste\/?18414b05403eae07#D6drIUJ9En\/AJRGWbjlJu7EG2ylqqY4FeDR0k1nLh04=\">ici<\/a>\u00a0d&rsquo;une r\u00e9ception correct d&rsquo;un mail :<\/p>\n<pre class=\"whitespace-before:1 lang:default mark:4,15,17 highlight:0 decode:true\">Aug 29 13:40:43 thyburce postfix\/smtpd[26410]: connect from blablabla[x.x.x.x]\r\nAug 29 13:40:43 thyburce postfix\/smtpd[26410]: 4B5CAC1451: client=blablabla[x.x.x.x]\r\nAug 29 13:40:43 thyburce postfix\/cleanup[26981]: 4B5CAC1451: message-id=&lt;8BE0311757F10B4499B29638434429FA0A6A6C1C@blablabla&gt;\r\nAug 29 13:40:44 thyburce postfix\/qmgr[4652]: 4B5CAC1451: from=&lt;mail@expediteur&gt;, size=7164, nrcpt=1 (queue active)\r\nAug 29 13:40:44 thyburce amavis[14915]: (14915-03) ESMTP::10024 \/var\/lib\/amavis\/tmp\/amavis-20130829T120023-14915-lC1c0yeP: &lt;mail@expediteur&gt; -&gt; &lt;mail@destinataire&gt; SIZE=7164 Received: from thyburce.roflcopter.fr ([127.0.0.1]) by localhost (thyburce.roflcopter.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP for &lt;mail@destinataire&gt;; Thu, 29 Aug 2013 13:40:44 +0200 (CEST)\r\nAug 29 13:40:44 thyburce postfix\/smtpd[26410]: disconnect from blablabla[x.x.x.x]\r\nAug 29 13:40:44 thyburce amavis[14915]: (14915-03) Checking: GcpqdnHP7B3K [x.x.x.x] &lt;mail@expediteur&gt; -&gt; &lt;mail@destinataire&gt;\r\nAug 29 13:40:45 thyburce postfix\/smtpd[26985]: connect from localhost[127.0.0.1]\r\nAug 29 13:40:45 thyburce postfix\/smtpd[26985]: AE773C1453: client=localhost[127.0.0.1]\r\nAug 29 13:40:45 thyburce postfix\/cleanup[26981]: AE773C1453: message-id=&lt;8BE0311757F10B4499B29638434429FA0A6A6C1C@blablabla&gt;\r\nAug 29 13:40:45 thyburce postfix\/smtpd[26985]: disconnect from localhost[127.0.0.1]\r\nAug 29 13:40:45 thyburce postfix\/qmgr[4652]: AE773C1453: from=&lt;mail@expediteur&gt;, size=7634, nrcpt=1 (queue active)\r\nAug 29 13:40:45 thyburce amavis[14915]: (14915-03) FWD from &lt;mail@expediteur&gt; -&gt; &lt;mail@destinataire&gt;,BODY=7BIT 250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as AE773C1453\r\nAug 29 13:40:45 thyburce amavis[14915]: (14915-03) Passed CLEAN {RelayedInternal}, LOCAL [x.x.x.x]:50714 [x.x.x.x] &lt;mail@expediteur&gt; -&gt; &lt;mail@destinataire&gt;, Queue-ID: 4B5CAC1451, Message-ID: &lt;8BE0311757F10B4499B29638434429FA0A6A6C1C@x.x.x.x&gt;, mail_id: GcpqdnHP7B3K, Hits: -4.8, size: 7164, queued_as: AE773C1453, 1317 ms\r\nAug 29 13:40:45 thyburce postfix\/smtp[26982]: 4B5CAC1451: to=&lt;mail@destinataire&gt;, relay=127.0.0.1[127.0.0.1]:10024, delay=2.5, delays=1.1\/0\/0\/1.3, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as AE773C1453)\r\nAug 29 13:40:45 thyburce postfix\/qmgr[4652]: 4B5CAC1451: removed\r\nAug 29 13:40:45 thyburce postfix\/pipe[26986]: AE773C1453: to=&lt;mail@destinataire&gt;, relay=dovecot, delay=0.1, delays=0.01\/0\/0\/0.08, dsn=2.0.0, status=sent (delivered via dovecot service)\r\nAug 29 13:40:45 thyburce postfix\/qmgr[4652]: AE773C1453: removed<\/pre>\n<p>Il ne reste plus qu&rsquo;\u00e0 prendre en main Roundcube. C&rsquo;est quelque chose qui se fait assez rapidement et qui ne fera pas l&rsquo;objet d&rsquo;un article :) Google est votre ami.<\/p>\n<h2>Activer Spamassasin\/Clamav<\/h2>\n<p>Par d\u00e9faut ils ne sont pas activ\u00e9s ?! \u00c9trange&#8230;<\/p>\n<p>Pour les activer, rien de plus simple : \u00e9ditez le fichier<\/p>\n<pre class=\"lang:sh decode:true\">vi \/etc\/default\/spamassasin<\/pre>\n<p>Activer spamassasin :<\/p>\n<pre class=\"lang:sh decode:true\"># Change to one to enable spamd\r\nENABLED=1<\/pre>\n<p>Puis activer les mises \u00e0 jour automatiques :<\/p>\n<pre class=\"lang:sh decode:true\"># Cronjob\r\n# Set to anything but 0 to enable the cron job to automatically update\r\n# spamassassin's rules on a nightly basis\r\nCRON=1<\/pre>\n<p>On red\u00e9marre p\u00e9p\u00e8re et on en profite pour faire la mise \u00e0 jour de ses filtres :<\/p>\n<pre class=\"lang:sh decode:true\">sudo \/etc\/init.d\/spamasassin restart\r\nsudo sa-update -v<\/pre>\n<p>&nbsp;<\/p>\n<p>Ensuite il va falloir dire \u00e0 Amavis \u00a0&#8211; service qui s&rsquo;occupe de faire le pont entre postfix et Spamassasin \/\/ Clamav &#8211; d&rsquo;activer la v\u00e9rification des mails :<\/p>\n<pre class=\"lang:sh mark:2 decode:true\">vi \/etc\/amavis\/conf.d\/15-av_scanners\r\n#d\u00e9-commenter les lignes suivantes :\r\n\r\n@av_scanners = (\r\n[...]\r\n### http:\/\/www.clamav.net\/\r\n['ClamAV-clamd',\r\n\\&amp;ask_daemon, [\"CONTSCAN {}\\n\", \"\/var\/run\/clamav\/clamd.ctl\"],\r\nqr\/\\bOK$\/m, qr\/\\bFOUND$\/m,\r\nqr\/^.*?: (?!Infected Archive)(.*) FOUND$\/m ],<\/pre>\n<pre class=\"lang:default mark:2 decode:true\">vi \/etc\/amavis\/conf.d\/15-content_filter_mode\r\n#d\u00e9-commenter les lignes suivantes :\r\n\r\n@bypass_virus_checks_maps = (\r\n   \\%bypass_virus_checks, \\@bypass_virus_checks_acl, \\$bypass_virus_checks_re);\r\n\r\n@bypass_spam_checks_maps = (\r\n   \\%bypass_spam_checks, \\@bypass_spam_checks_acl, \\$bypass_spam_checks_re);<\/pre>\n<p>Et on red\u00e9marre Amavis :<\/p>\n<pre class=\"lang:default decode:true\">sudo \/etc\/init.d\/amavis restart<\/pre>\n<p><span style=\"font-size: 1em; line-height: 1.5;\">Voil\u00e0, normalement tout devrait bien se passer ;)<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2>G\u00e9rer plusieurs adresses mails<\/h2>\n<p>Si comme moi vous avez plusieurs domaines ou des mails g\u00e9n\u00e9riques (comme contact@&#8230;, admin@&#8230;) c&rsquo;est un peu gal\u00e8re de cr\u00e9er une boite mail pour chaque adresse. On va plut\u00f4t utiliser une adresse principale et faire des redirections mails sur toutes les autres adresses.<\/p>\n<h3>Ajouter un alias<\/h3>\n<p>Une adresse mail de redirection est un alias, malheureusement l&rsquo;interface web basique ne permet pas la cr\u00e9ation d&rsquo;alias, il faut aller directement dans le LDAP.<span style=\"font-size: 1em; line-height: 1.5;\">\u00a0Rendez-vous, donc, dans le phpldapadmin (rappelez-vous le DN du compte et le mot de passe sont dans le fichier <\/span><em style=\"font-size: 1em; line-height: 1.5;\">iredmail.tips<\/em><span style=\"font-size: 1em; line-height: 1.5;\">)<\/span><\/p>\n<p><a href=\"https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-16_18_48-phpLDAPadmin-1.2.2-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-105 alignnone\" alt=\"2013-08-29 16_18_48-phpLDAPadmin (1.2.2) -\" src=\"https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-16_18_48-phpLDAPadmin-1.2.2-1.png\" width=\"560\" height=\"353\" srcset=\"https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-16_18_48-phpLDAPadmin-1.2.2-1.png 560w, https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-16_18_48-phpLDAPadmin-1.2.2-1-300x189.png 300w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><\/a><\/p>\n<p><span style=\"font-size: 1em; line-height: 1.5;\">Dans la branche \u00ab\u00a0domain\u00a0\u00bb, s\u00e9lectionner le domaine du futur Alias, cliquez sur \u00ab\u00a0Aliases\u00a0\u00bb et ensuite \u00ab\u00a0Create a child entry\u00a0\u00bb.<\/span><\/p>\n<p>Dans le menu suivant, s\u00e9lectionnez \u00ab\u00a0MailAlias\u00a0\u00bb comme <em>ObjectClasses <\/em>et cliquez sur \u00ab\u00a0Proceed\u00a0\u00bb.<\/p>\n<p>Dans l&rsquo;\u00e9tape suivante, il va falloir remplir plusieurs champs, <strong><span style=\"text-decoration: underline;\">ils sont obligatoires<\/span><\/strong>\u00a0:<\/p>\n<ul>\n<li><strong>RDN<\/strong> : choississez \u00ab\u00a0<em>mail<\/em>\u00ab\u00a0<\/li>\n<li><strong>Email<\/strong> : l&#8217;email de votre alias<\/li>\n<li><strong>accountStatus<\/strong> : <em>active<\/em><\/li>\n<li><strong>cn<\/strong> : l&rsquo;intitul\u00e9 de votre alias<\/li>\n<li><strong>enabledService<\/strong> : <em>mail<\/em><\/li>\n<li><strong>mailForwardingAddress<\/strong> : l&rsquo;adresse de destination de votre alias<\/li>\n<\/ul>\n<p><a href=\"https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-16_54_04-phpLDAPadmin-1.2.2-.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-108 alignnone\" alt=\"2013-08-29 16_54_04-phpLDAPadmin (1.2.2) -\" src=\"https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-16_54_04-phpLDAPadmin-1.2.2-.png\" width=\"517\" height=\"781\" srcset=\"https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-16_54_04-phpLDAPadmin-1.2.2-.png 517w, https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-16_54_04-phpLDAPadmin-1.2.2--198x300.png 198w\" sizes=\"auto, (max-width: 517px) 100vw, 517px\" \/><\/a><\/p>\n<p>Ensuite, cliquez sur \u00ab\u00a0Create Object\u00a0\u00bb tout en bas, puis \u00ab\u00a0Commit\u00a0\u00bb dans le menu suivant.<\/p>\n<p>Il faut ensuite rajouter un \u00ab\u00a0enabledService\u00a0\u00bb, sinon l&rsquo;alias ne <span style=\"text-decoration: underline;\"><strong>fonctionnera pas !<\/strong><\/span><\/p>\n<p>Cliquez sur \u00ab\u00a0add value\u00a0\u00bb dans la partie \u00ab\u00a0enabledService\u00a0\u00bb et entrez \u00ab\u00a0deliver\u00a0\u00bb puis cliquez sur \u00ab\u00a0Update Object\u00a0\u00bb :<\/p>\n<p><a href=\"https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-17_00_34-phpLDAPadmin-1.2.2-.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-111 alignnone\" alt=\"2013-08-29 17_00_34-phpLDAPadmin (1.2.2) -\" src=\"https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-17_00_34-phpLDAPadmin-1.2.2-.png\" width=\"562\" height=\"406\" srcset=\"https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-17_00_34-phpLDAPadmin-1.2.2-.png 562w, https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-17_00_34-phpLDAPadmin-1.2.2--300x216.png 300w\" sizes=\"auto, (max-width: 562px) 100vw, 562px\" \/><\/a><\/p>\n<p><strong style=\"font-size: 1em; line-height: 1.5;\">N.B<\/strong><span style=\"font-size: 1em; line-height: 1.5;\"> : vous pouvez rajouter autant de <\/span><em style=\"font-size: 1em; line-height: 1.5;\">mailForwardingAddress<\/em><span style=\"font-size: 1em; line-height: 1.5;\"> que vous le voulez, vous aurez ainsi un alias pointant sur plusieurs adresses mails.<\/span><\/p>\n<p>Une fois l&rsquo;alias configur\u00e9, vous pourrez recevoir recevoir les mails via votre email principal.<\/p>\n<h3>Int\u00e9gration dans Roundcube<\/h3>\n<p><span style=\"font-size: 1em; line-height: 1.5;\">Roundcube g\u00e8re tr\u00e8s bien les alias via les \u00ab\u00a0identit\u00e9s\u00a0\u00bb. Une identit\u00e9 est li\u00e9e \u00e0 une adresse mail et permet d&rsquo;envoyer des mails via cette adresse. Vous pouvez par exemple configurer une signature diff\u00e9rente par identit\u00e9.<\/span><\/p>\n<p><span style=\"font-size: 1em; line-height: 1.5;\">Par d\u00e9faut c&rsquo;est d\u00e9sactiv\u00e9, pour le r\u00e9activer, c&rsquo;est assez simple, il y a juste une variable \u00e0 changer dans le fichier de configuration principal de Roundcube :<\/span><\/p>\n<pre class=\"lang:sh decode:true\">vi \/usr\/share\/apache2\/roundcubemail\/config\/main.inc.php<\/pre>\n<p>Et changez la valeur du param\u00e8tre identities_level :<\/p>\n<pre class=\"lang:php decode:true\">$rcmail_config['identities_level'] = 0;<\/pre>\n<h3><span style=\"line-height: 1.8;\">Et le DKIM dans tout \u00e7a ?<\/span><\/h3>\n<p>Si vous ajoutez un nouveau domaine, il va falloir lui g\u00e9n\u00e9rer une pair de cl\u00e9 DKIM et l&rsquo;int\u00e9grer dans amavis. La proc\u00e9dure est simple et est d\u00e9crite ici : <a href=\"http:\/\/www.iredmail.org\/forum\/post1807.html#p1807\">http:\/\/www.iredmail.org\/forum\/post1807.html#p1807<\/a>\u00a0(backup <a href=\"https:\/\/wtf.roflcopter.fr\/archive\/index.php?public&amp;publicget=2013-11-12-19-19-39\">ici<\/a>)<\/p>\n<p>&nbsp;<\/p>\n<h2>Le \u00ab\u00a0+addressing\u00a0\u00bb<\/h2>\n<p><span style=\"font-size: 1em; line-height: 1.5;\">Avec Gmail, vous avez la possibilit\u00e9 de cr\u00e9er virtuellement autant d&rsquo;adresse mail que vous voulez \u00e0 partir de la v\u00f4tre, par exemple avec \u00ab\u00a0tu.peux.pas.test@gmail.com\u00a0\u00bb :\u00a0<\/span><\/p>\n<ul>\n<li>tu.peux.pas.test+spam@gmail.com<\/li>\n<li>tu.peux.pas.test+mailing@gmail.com<\/li>\n<li>tu.peux.pas.test+univ@gmail.com<\/li>\n<li>tu.peux.pas.test+taff@gmail.com<\/li>\n<li>tu.peux.pas.test+&lt;etc etc&gt;@gmail.com<\/li>\n<\/ul>\n<p>Toutes ces adresses seront redirig\u00e9es automatiquement vers votre inbox. C&rsquo;est assez pratique car, gr\u00e2ce \u00e0 quelques filtres, elles permettent d&rsquo;avoir un \u00ab\u00a0pr\u00e9-classement\u00a0\u00bb du courrier.<\/p>\n<p>\u00c7a permet aussi de voir qui a vendu votre adresse mail : imaginons, vous vous inscrivez \u00e0 un service quelconque en ligne qui vous demande un mail (imaginons <a href=\"https:\/\/wtf.roflcopter.fr\/links\/pogo\/?ohGmYw\">les3suisses<\/a>), vous pouvez renseigner un mail unique et li\u00e9 \u00e0 ce service :\u00a0tu.peux.pas.test+3suisses@gmail.com. Si un jour vous recevez du spam \u00e0 cette adresse, vous saurez que les 3suisses on revendu votre mail \u00e0 des tiers&#8230; Attention cependant, tous les sites\/services ne supportent pas d&rsquo;avoir un \u00ab\u00a0+\u00a0\u00bb dans l&rsquo;adresse mail.<\/p>\n<p><span style=\"font-size: 1em; line-height: 1.5;\">De base, Iredmail supporte ce type d&rsquo;adresse, seul probl\u00e8me, les mails n&rsquo;arrivent pas dans l&rsquo;Inbox mais sont stock\u00e9s automatiquement dans un dossier portant le nom indiqu\u00e9 apr\u00e8s le \u00ab\u00a0+\u00a0\u00bb. Par exemple\u00a0tu.peux.pas.test+coincoin@gmail.com sera automatiquement mis dans le dossier \u00ab\u00a0coincoin\u00a0\u00bb (le dossier est cr\u00e9\u00e9 automatiquement).<\/span><\/p>\n<p>On peut changer ce comportement avec des filtres : apr\u00e8s r\u00e9ception d&rsquo;un mail, dovecot va analyser les filtres \u00ab\u00a0sieves\u00a0\u00bb de la mailbox afin de savoir o\u00f9 le stocker.<\/p>\n<p>Premi\u00e8re chose \u00e0 faire, changer les ent\u00eates du mail que postfix va laisser pour dovecot (revoir l&rsquo;image du haut si vous \u00eates perdus). De base il va virer ce qu&rsquo;il y a apr\u00e8s le \u00ab\u00a0+\u00a0\u00bb \u00e0 cause de la directive :<\/p>\n<pre class=\"lang:default decode:true\">recipient_delimiter = +<\/pre>\n<p>Cet param\u00e8tre est n\u00e9cessaire, mais\u00a0a donc besoin qu&rsquo;il laisse l&rsquo;adresse enti\u00e8re pour le Dovecot, pour cela :<\/p>\n<pre class=\"lang:sh decode:true\">vi\u00a0\/etc\/postfix\/master.cf<\/pre>\n<p>Et rajouter <em>-a ${recipient}<\/em> comme ceci :<\/p>\n<pre class=\"lang:default decode:true\"># Use dovecot deliver program as LDA.\r\ndovecot unix - n n - - pipe\r\nflags=DRhu user=vmail:vmail argv=\/usr\/lib\/dovecot\/deliver -f ${sender} -d ${user}@${domain} -m ${extension} -a ${recipient}<\/pre>\n<p>Et un petit restart de postfix pour prendre en compte les changements :<\/p>\n<pre class=\"lang:default decode:true\">sudo \/etc\/init.d\/postfix restart<\/pre>\n<p>Ensuite rendez-vous sur Roundcube &gt; Onglet Param\u00e8tres &gt; Filtres, et cr\u00e9ez un nouveau filtre de la sorte :\u00a0<a href=\"https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-19_11_20-ROFLmail-__-Filtres.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-126 alignleft\" alt=\"2013-08-29-19_11_20-ROFLmail-__-Filtres\" src=\"https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-19_11_20-ROFLmail-__-Filtres.png\" width=\"807\" height=\"600\" srcset=\"https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-19_11_20-ROFLmail-__-Filtres.png 807w, https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-19_11_20-ROFLmail-__-Filtres-300x223.png 300w, https:\/\/wtf.roflcopter.fr\/blog\/wp-content\/uploads\/2013\/08\/2013-08-29-19_11_20-ROFLmail-__-Filtres-625x464.png 625w\" sizes=\"auto, (max-width: 807px) 100vw, 807px\" \/><\/a><\/p>\n<p>On filtre ici gr\u00e2ce au modificateur \u00ab\u00a0enveloppe\u00a0\u00bb et de type \u00ab\u00a0d\u00e9tail\u00a0\u00bb (accessibles en cliquant sur la fl\u00e8che \u00e0 gauche). Ici tous les mails atterriront dans la Inbox.<\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-size: 1em; line-height: 1.5;\">Une bonne chose de faite !<\/span><\/h2>\n<p>Et voil\u00e0 il ne vous reste plus qu&rsquo;\u00e0 prendre en main Roundcube !<\/p>\n<p>Dans le prochain article on parlera de l&rsquo;XMPP et de l&rsquo;int\u00e9gration avec Iredmail, \u00e7a permettra de souffler un peu avant d\u2019entamer la partie caldav\/carddav&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Les articles qui vont suivre ne sont pas des tutos \u00e0 par enti\u00e8re, disons que c&rsquo;est plus une marche \u00e0 suivre. Je vais essayer d&rsquo;\u00eatre le plus indicatif possible mais je vais s\u00fbrement zapper des choses. Si un truc n&rsquo;est pas clair, faites le savoir dans les commentaires et j&rsquo;essaierai de compl\u00e9ter l&rsquo;article ! &nbsp; &hellip; <a href=\"https:\/\/wtf.roflcopter.fr\/blog\/2013\/08\/31\/a-sous-lbus-google-partie-2\/\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">A+ sous l\u2019bus Google \u2013 Partie 2<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"","activitypub_status":"","footnotes":""},"categories":[15],"tags":[18,16,19,17],"class_list":["post-67","post","type-post","status-publish","format-standard","hentry","category-geekerie","tag-auto-hebergement","tag-google","tag-iredmail","tag-mail"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/wtf.roflcopter.fr\/blog\/wp-json\/wp\/v2\/posts\/67","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wtf.roflcopter.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wtf.roflcopter.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wtf.roflcopter.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wtf.roflcopter.fr\/blog\/wp-json\/wp\/v2\/comments?post=67"}],"version-history":[{"count":60,"href":"https:\/\/wtf.roflcopter.fr\/blog\/wp-json\/wp\/v2\/posts\/67\/revisions"}],"predecessor-version":[{"id":222,"href":"https:\/\/wtf.roflcopter.fr\/blog\/wp-json\/wp\/v2\/posts\/67\/revisions\/222"}],"wp:attachment":[{"href":"https:\/\/wtf.roflcopter.fr\/blog\/wp-json\/wp\/v2\/media?parent=67"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wtf.roflcopter.fr\/blog\/wp-json\/wp\/v2\/categories?post=67"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wtf.roflcopter.fr\/blog\/wp-json\/wp\/v2\/tags?post=67"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}