{"id":106,"date":"2021-02-20T15:47:17","date_gmt":"2021-02-20T14:47:17","guid":{"rendered":"https:\/\/www.webdot.fr\/blog\/?p=106"},"modified":"2022-11-03T10:24:32","modified_gmt":"2022-11-03T09:24:32","slug":"mise-en-place-dun-serveur-e-mail-complet-et-efficient-sur-un-nas-asustor","status":"publish","type":"post","link":"https:\/\/www.webdot.fr\/blog\/2021\/02\/mise-en-place-dun-serveur-e-mail-complet-et-efficient-sur-un-nas-asustor\/","title":{"rendered":"Mise en place d&rsquo;un serveur e-mail complet et efficient sur un NAS ASUSTOR"},"content":{"rendered":"\n<p>Oui, il existe bien un package dans AppCentral nomm\u00e9 \u00ab\u00a0Mail Server\u00a0\u00bb. J&rsquo;ai voulu insister pour l&rsquo;utiliser, mal m&rsquo;en a pris ! D\u00e9j\u00e0 il ne fonctionne pas STARTTLS avec le port 587, mais en SSL\/TLS avec le port 465. On peut faire avec. En revanche, j&rsquo;ai trouv\u00e9 plus g\u00eanant qu&rsquo;il y a certains messages qui ne sont tout simplement pas re\u00e7us, par exemple tous les emails provenant de GMail. J&rsquo;ai donc d\u00e9cid\u00e9 de trouver une solution pour installer mon propre serveur email, et j&rsquo;ai trouv\u00e9 plus simple de passer par Docker. Cela passe par deux dockers diff\u00e9rents pour Postfix et Dovecot. J&rsquo;aurais pu partir sur une seule installation mais je trouvais l&rsquo;id\u00e9e de s\u00e9parer les deux aspects pratique, et p\u00e9dagogique. De plus \u00e7a n&rsquo;alourdit pas particuli\u00e8rement le NAS : avec tout ce qui est install\u00e9, seulement ~40% des 4 Go de RAM sont consomm\u00e9s, il y a encore de la marge.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installation de Dovecot<\/h2>\n\n\n\n<p>Pour dovecot, j&rsquo;ai simplement install\u00e9 l&rsquo;image docker de dovecot \u00e0 partir de Portainer :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"789\" src=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-13-1024x789.png\" alt=\"\" class=\"wp-image-160\" srcset=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-13-1024x789.png 1024w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-13-300x231.png 300w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-13-768x592.png 768w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-13-389x300.png 389w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-13.png 1081w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p> J&rsquo;ai cr\u00e9\u00e9, toujours dans Portainer, les liens suivants (noter qu&rsquo;il faut bien s\u00e9lectionner \u00ab\u00a0Volume\u00a0\u00bb ou \u00ab\u00a0Bind\u00a0\u00bb en fonction du type de lien) :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/volume1\/Mail ==&gt; \/srv\/mail\n\/volume1\/Docker\/Dovecot\/conf.d ==&gt; \/etc\/dovecot\/conf.d<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"942\" height=\"421\" src=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-14.png\" alt=\"\" class=\"wp-image-161\" srcset=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-14.png 942w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-14-300x134.png 300w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-14-768x343.png 768w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-14-590x264.png 590w\" sizes=\"(max-width: 942px) 100vw, 942px\" \/><\/figure>\n\n\n\n<p>De cette fa\u00e7on, 1) les emails sont bien conserv\u00e9s au chaud par dovecot dans un r\u00e9pertoire sur le NAS que j&rsquo;ai cr\u00e9\u00e9  (\/volume1\/Mail) et 2) la configuration de dovecot est conserv\u00e9e et \u00e9ditable dans <\/p>\n\n\n\n<pre id=\"block-bf2c1045-731c-4040-af1d-23d8bed97e31\" class=\"wp-block-code\"><code>\/volume1\/Docker\/Dovecot\/conf.d<\/code><\/pre>\n\n\n\n<p>De plus, l&rsquo;installation de l&rsquo;image cr\u00e9e automatiquement un volume persistant dans le r\u00e9pertoire \/usr\/local\/AppCentral\/docker-ce\/docker_lib\/volumes\/ dans lequel le fichier dovecot.conf est \u00e9galement \u00e9ditable et persistant. Pour configurer dovecot il faut donc \u00e9diter le fichier <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/usr\/local\/AppCentral\/docker-ce\/docker_lib\/volumes\/a73949915e9e61ca225db3388b315f490be498483ac0e9f87ed621a37768d18b\/_data\/dovecot.conf<\/code><\/pre>\n\n\n\n<p>(sachant que l&rsquo;identifiant du volume, qui commence chez moi par a739&#8230; sera probablement diff\u00e9rent chez vous)<\/p>\n\n\n\n<p>Et il faut \u00e9diter les fichiers <em>10-auth.conf,<\/em> <em>10-mail.conf<\/em>, <em>15-lda.conf <\/em>et <em>auth-static.conf.ext<\/em> pr\u00e9sents dans <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/volume1\/Docker\/Dovecot\/conf.d<\/code><\/pre>\n\n\n\n<p>Vous trouverez ci-dessous tous les liens sur les fichiers de configuration qui vont bien et qui feront tourner dovecot correctement. :<\/p>\n\n\n\n<ul>\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/dovecot.conf_.txt\" target=\"_blank\">dovecot.conf<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/10-auth.conf_.txt\" target=\"_blank\">10-auth.conf<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/10-mail.conf_.txt\" target=\"_blank\">10-mail.conf<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/15-lda.conf_.txt\" target=\"_blank\">15-lda.conf<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/03\/10-ssl.conf_.txt\" target=\"_blank\" rel=\"noreferrer noopener\">10-ssl.conf<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/auth-static.conf_.ext_.txt\" target=\"_blank\">auth-static.conf.ext<\/a><\/li>\n<\/ul>\n\n\n\n<p>Sans rentrer dans tous les d\u00e9tails, voici quelques informations sur l&rsquo;essentiel de ces fichiers :<\/p>\n\n\n\n<p>dovevot.conf : on active les protocoles imap, submission, sieve et lmtp. On active la s\u00e9curit\u00e9 (ssl), on active les services auth et lmtp qui sont configur\u00e9s pour que postfix et dovecot communiquent bien puisqu&rsquo;ils sont dans des containers, donc des \u00ab\u00a0machines\u00a0\u00bb (m\u00eame si elles sont virtuelles) diff\u00e9rentes, et on inclut les fichiers de configuration situ\u00e9s dans conf.d.<\/p>\n\n\n\n<p>10-auth.conf : deux lignes sont d\u00e9comment\u00e9es pour d\u00e9crire le type d&rsquo;authentification, et le fichier o\u00f9 sont d\u00e9clar\u00e9es des infos compl\u00e9mentaires sur l&rsquo;authentification.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>auth_mechanisms = plain\n!include auth-static.conf.ext<\/code><\/pre>\n\n\n\n<p>auth-static.conf.ext : d\u00e9finit le type de driver et surtout o\u00f9 trouver le fichier qui stocke les mots de passe (j&rsquo;y reviens juste apr\u00e8s), ainsi que o\u00f9 seront stock\u00e9s les emails re\u00e7us (\/srv\/mail\/%d\/%n). %d est le domaine (domain.com), et %n le nom (robert).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>passdb {\n  driver = passwd-file\n  args = scheme=CRYPT username_format=%u \/etc\/dovecot\/vusers.conf\n}\n\nuserdb {\n  driver = static\n  args = uid=vmail gid=vmail home=\/srv\/mail\/%d\/%n\n}<\/code><\/pre>\n\n\n\n<p>Pour cr\u00e9er le fichier <em>vusers.conf<\/em> il faut utiliser la commande <em>doveadm<\/em>. Pour ceci, le plus simple sera d\u00a0\u00bbentrer dans le container via Portainer :<\/p>\n\n\n\n<p> On choisit un mot de passe pour un utilisateur d&#8217;email, par ex. pour <em>robert@domain.com<\/em> on va lui attribuer le mot de passe &lsquo;Gla1QPR!56&rsquo;  :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"917\" height=\"532\" src=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-9.png\" alt=\"\" class=\"wp-image-129\" srcset=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-9.png 917w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-9-300x174.png 300w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-9-768x446.png 768w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-9-517x300.png 517w\" sizes=\"(max-width: 917px) 100vw, 917px\" \/><\/figure>\n\n\n\n<p>Une fois dans la console, on utilise la commande \u00ab\u00a0doveadm\u00a0\u00bb pour cr\u00e9er un mot de passe crypt\u00e9 :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"365\" src=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-10-1024x365.png\" alt=\"\" class=\"wp-image-130\" srcset=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-10-1024x365.png 1024w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-10-300x107.png 300w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-10-768x274.png 768w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-10-590x210.png 590w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-10.png 1134w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Pour finir, on ajoute la ligne correspondante dans le fichier \/etc\/dovecot\/vusers.conf d\u00e9fini plus ci-dessus :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>robert@domain.com:{SHA512-CRYPT}$6$GDloJS3PzjRRZ\/Z1$saMySfwQFHKFAVsqlqbUDGZRAGwSBxYYC3a4py.7pbJtddblqEDzDGNQU0y\/MOhbjN0lytB4.sB9tqXBCMmH80<\/code><\/pre>\n\n\n\n<p>Penser \u00e0 fixer les droits de lecture sur ce fichier \u00e0 640.<\/p>\n\n\n\n<p>10-mail.conf : dans ce fichier on peut redonner la localisation du r\u00e9pertoire de stockage des emails, la ligne la plus int\u00e9ressante ici est la deuxi\u00e8me : elle d\u00e9finit le format de stockage. Avec Dovecot, on choisit en g\u00e9n\u00e9ral le format Maildir, mais dovecot a d\u00e9velopp\u00e9 son propre format de stockage, que j&rsquo;ai personnellement choisi pour cette installation, sdbox. Le groupe correspondant est vmail (d\u00e9fini dans le container).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mail_home = \/srv\/mail\/%d\/%n\nmail_location = sdbox:\/srv\/mail\/%d\/%n\nmail_privileged_group = vmail<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>auth_mechanisms = plain\n!include auth-static.conf.ext<\/code><\/pre>\n\n\n\n<p>15-lda.conf : d\u00e9finit quelques options utiles. J&rsquo;ai conserv\u00e9 le bloc \u00ab\u00a0protocol lda\u00a0\u00bb, si je veux ajouter des plugins \u00e0 dovecot plus tard.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Should saving a mail to a nonexistent mailbox automatically create it?\nlda_mailbox_autocreate = yes\n\n# Should automatically created mailboxes be also automatically subscribed?\nlda_mailbox_autosubscribe = yes\n\nprotocol lda {\n  # Space separated list of plugins to load (default is global mail_plugins).\n  #mail_plugins = $mail_plugins sieve\n}<\/code><\/pre>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\"><div class=\"wp-block-group__inner-container\">\n<p> Il faut enfin bien penser \u00e0 transf\u00e9rer les ports 24, 12345 et 143 du NAS au container dovecot :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"577\" height=\"87\" src=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-17.png\" alt=\"\" class=\"wp-image-166\" srcset=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-17.png 577w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-17-300x45.png 300w\" sizes=\"(max-width: 577px) 100vw, 577px\" \/><\/figure>\n\n\n\n<ul>\n<li>les ports 12345 et 24 permettent \u00e0 dovecot et postfix de communiquer (notamment via le protocle lmtp)<\/li>\n\n\n\n<li>le port 143 est l&rsquo;acc\u00e8s \u00e0 dovecot pour lire les emails <\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Installation de Postfix<\/h2>\n\n\n\n<p>Pour postfix je me suis fortement inspir\u00e9 de l&rsquo;image instrumentisto\/postfix sur Docker Hub. En fait on pourrait juste l&rsquo;utiliser telle quelle, mais je me suis aper\u00e7u qu&rsquo;il manquait un package dans le container pour qu&rsquo;elle fonctionne correctement avec mon installation, donc j&rsquo;ai d\u00e9cid\u00e9 de reconstruire l&rsquo;image moi-m\u00eame en utilisant le fichier de configuration de instrumentisto\/postfix et en ajoutant juste la commande pour installer le package en question. Vous pouvez t\u00e9l\u00e9charger le fichier de configuration <a rel=\"noreferrer noopener\" href=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/Dockerfile_postfix.txt\" target=\"_blank\">ici<\/a>. Dans ce fichier on peut retrouver l&rsquo;unique ligne que j&rsquo;ai ajout\u00e9e pour que l&rsquo;image fonctionne parfaitement bien par la suite dans ma configuration :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>... \n# Install Postfix dependencies\n &amp;&amp; apt-get install -y --no-install-recommends --no-install-suggests \\\n            libpcre3 libicu57 \\\n            libdb5.3 libpq5 libmariadbclient18 libsqlite3-0 \\\n            libsasl2-2 \\\n<strong>            libsasl2-modules \\<\/strong>\n            libldap-2.4 \\\n    \\\n...<\/code><\/pre>\n\n\n\n<p>Pour info, le package libsasl2-modules semble indispensable pour utiliser OVH comme \u00ab\u00a0relay\u00a0\u00bb \u00e0 postfix. <\/p>\n\n\n\n<p>Ensuite, on peut lancer le container avec la commande suivante :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@astorus:\/volume1\/Docker\/Traefik# docker run -d --name Postfix --restart always --network=\"bridge\" -v \/volume1\/Docker\/Postfix\/etc:\/etc\/postfix -p 25:25 -p 587:587 instrumentisto\/postfix:latest<\/code><\/pre>\n\n\n\n<p>Le container appara\u00eetra alors dans Portainer.<\/p>\n<\/div><\/div>\n\n\n\n<p>Pour la configuration de postfix, je suis intervenu sur les diff\u00e9rents fichiers ci-dessous :<\/p>\n\n\n\n<ul>\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/main.cf_.txt\" target=\"_blank\">main.cf<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/master.cf_.txt\" target=\"_blank\">master.cf<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/aliases.txt\" target=\"_blank\">aliases<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/sasl_passwd.txt\" data-type=\"URL\" data-id=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/sasl_passwd.txt\" target=\"_blank\">sasl_passwd<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/virtual_alias.txt\" target=\"_blank\" rel=\"noreferrer noopener\">virtual_alias<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/virtual_mailbox.txt\" data-type=\"URL\" data-id=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/virtual_mailbox.txt\" target=\"_blank\">virtual_mailbox<\/a><\/li>\n<\/ul>\n\n\n\n<p>Je ne vais pas rentrer dans tous les d\u00e9tails de main.cf car il y a un paquet de d\u00e9finitions, vous pouvez aller chercher dans la documentation de postfix si n\u00e9cessaire. Je reviendrai seulement sur quelques \u00e9l\u00e9ments qui me semblent importants par rapport \u00e0 la configuration \u00e0 mettre en place pour notre cas :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># fixer ces variables \u00e0 votre domaine \nmyhostname = mail.domain.com\nmydomain = domain.com\n\n# Tailles maxi des mailboxes et des messages\nmailbox_size_limit = 1073741824\nmessage_size_limit = 20971520\n\n# SMTPD SASL parameters\n# Ce blox d\u00e9finit les liens et la fa\u00e7on de communiquer avec le serveur dovecot, en accord avec les options d\u00e9finies dans la configuration de dovecot d\u00e9crite ci-dessus\n# Comme dovecot et postfix tournent dans des containers s\u00e9par\u00e9s, il faut un transport adapt\u00e9, c'est pour \u00e7a qu'on utilise lmtp qui passe du container au NAS, et le NAS transf\u00e8re automatiquement \u00e0 dovecot (via le port 24)\nsmtpd_sasl_type = dovecot                                                                      \nsmtpd_sasl_path = inet:192.168.1.140:12345                                                     \nsmtpd_sasl_auth_enable = yes                                                                   \nsmtpd_sasl_local_domain = $mydomain                                                            \nbroken_sasl_auth_clients = yes                                                                 \nmailbox_transport = lmtp:192.168.1.140:24\n\n# SMTP SASL parameters\n# Ce blox permet d'utiliser un relay host pour envoyer les messages. Pour une installation personnelle c'est plus simple que d'utiliser postfix directement, car votre domaine n'est pas reconnu partout et peut \u00eatre refus\u00e9 par d'autres serveurs. On utilise le fichier sasl_passwd pour d\u00e9finir l'acc\u00e8s au relay host \nsmtp_sasl_auth_enable = yes                                                                    \nsmtp_sasl_security_options = noanonymous                                                       \nsmtp_sasl_password_maps = hash:\/etc\/postfix\/sasl_passwd   \n\n# SMTPD TLS PARAMETERS (incoming connections)        \n# On d\u00e9finit ici la fa\u00e7on de recevoir des emails\n# On d\u00e9finit la localisation des certificats (j'y reviendrai)\n# On d\u00e9finit aussi un fichier, dh4096.pem,\nsmtpd_tls_security_level = may        \nsmtpd_tls_ciphers = high        \nsmtpd_tls_mandatory_ciphers = high        \nsmtpd_tls_exclude_ciphers = aNULL, LOW, EXP, MEDIUM, ADH, AECDH, MD5, DSS, ECDSA, CAMELLIA128, 3DES, CAMELLIA256, RSA+AES, eNULL        \nsmtpd_tls_dh1024_param_file = \/etc\/postfix\/dh4096.pem        \nsmtpd_tls_cert_file = \/etc\/postfix\/ssl\/mail.crt        \nsmtpd_tls_key_file = \/etc\/postfix\/ssl\/mail.key    \nsmtpd_tls_auth_only = no\nsmtpd_use_tls=yes\nsmtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1, TLSv1.2, TLSv1.3\nsmtpd_tls_ciphers = high\nsmtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1, TLSv1.2, TLSv1.3\nsmtpd_tls_mandatory_ciphers = high\nsmtpd_tls_received_header = yes<\/code><\/pre>\n\n\n\n<p>Pour cr\u00e9er le cl\u00e9 cryptographique dh4096.pem (cl\u00e9 Diffie-Hellman), utiliser la commande (dans le container postfix) :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openssl dhparam -out \/etc\/postfix\/dh4096.pem 4096;<\/code><\/pre>\n\n\n\n<p>La cl\u00e9 cryptographique Diffie-Hellman est un algorithme cryptographique qui permet aux protocoles Internetd&rsquo;utiliser une cl\u00e9 partag\u00e9e et assurer des connexions s\u00e9curis\u00e9es. <\/p>\n\n\n\n<p>sasl_password : c&rsquo;est le fichier qui contient les credentials pour se connecter au relay host. Je vous conseille de cr\u00e9er un utilisateur, par exemple postmaster, sur l&rsquo;interface OVH de votre domaine. Il faut ensuite ins\u00e9rer ces identifiants dans le fichier sasl_passwd :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;ssl0.ovh.net]:587 postmaster@domain.com:Password<\/code><\/pre>\n\n\n\n<p>master.cf : il faut que toutes les lignes suivantes soient bien d\u00e9comment\u00e9es (ou ajout\u00e9es) :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>smtp      inet  n       -       n       -       -       smtpd\n...\nsubmission inet n       -       n       -       -       smtpd\n  -o syslog_name=postfix\/submission\n  -o smtpd_tls_security_level=encrypt\n  -o smtpd_sasl_auth_enable=yes\n...\ndovecot   unix  -       n       n       -       -       pipe\n  flags=DRhu user=vmail:vmail argv=\/usr\/lib\/dovecot\/deliver -f ${sender} -d ${user}@${nexthop}\n<\/code><\/pre>\n\n\n\n<p>aliases : d\u00e9finit les identifiants. Par exemple, robert et christine sont des users du NAS. On va d\u00e9finir les alias correspondants :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>robert:\t\trobert\nrobert.berrotin:\trobert\nchristine:  christine\nchristine.berrotin:  christine<\/code><\/pre>\n\n\n\n<p>Il faut, une fois ce fichier mis \u00e0 jour, aller dans la console du docker, lancer la commande <em>newaliases<\/em> puis relancer le docker.<\/p>\n\n\n\n<p>virtual_mailbox : on d\u00e9finit ici les mailbox<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>robert@domain.com  OK\nchristine@domain.com  OK<\/code><\/pre>\n\n\n\n<p>virtual_alias : on d\u00e9finit ici les alias de mailbox<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>robert.berrotin@domain.com robert@domain.com\nchistine.berrotin@dmain.com christine@domain.com<\/code><\/pre>\n\n\n\n<p>Et voil\u00e0 ! on a fait le tour. En th\u00e9orie, \u00e7a devrait fonctionner \ud83d\ude42 .<\/p>\n\n\n\n<p>Installation de Roiundcubemail<\/p>\n\n\n\n<p>Pour lire mes emails avec un navigateur j&rsquo;ai ajout\u00e9 Roundcubemail, avec le container natif de roundcubemail :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"705\" src=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-22-1024x705.png\" alt=\"\" class=\"wp-image-180\" srcset=\"https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-22-1024x705.png 1024w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-22-300x206.png 300w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-22-768x529.png 768w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-22-436x300.png 436w, https:\/\/www.webdot.fr\/blog\/wp-content\/uploads\/2021\/02\/image-22.png 1190w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Cette installation cr\u00e9e un volume persistant li\u00e9 \u00e0 \/var\/www\/html, il suffit d&rsquo;aller dans ce volume pour avoir acc\u00e8-s aux fichiers de configuration de l&rsquo;installation. Je ne rentrerai pas dans le d\u00e9tail de cette installation qui n&rsquo;a rien de sp\u00e9cifique \u00e0 l&rsquo;installation sur ce NAS, on peut se r\u00e9f\u00e9rer \u00e0 la documentation de roundcube pour \u00e7a.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oui, il existe bien un package dans AppCentral nomm\u00e9 \u00ab\u00a0Mail Server\u00a0\u00bb. J&rsquo;ai voulu insister pour l&rsquo;utiliser, mal m&rsquo;en a pris ! D\u00e9j\u00e0 il ne fonctionne pas STARTTLS avec le port 587, mais en SSL\/TLS avec &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,7],"tags":[],"_links":{"self":[{"href":"https:\/\/www.webdot.fr\/blog\/wp-json\/wp\/v2\/posts\/106"}],"collection":[{"href":"https:\/\/www.webdot.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webdot.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webdot.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webdot.fr\/blog\/wp-json\/wp\/v2\/comments?post=106"}],"version-history":[{"count":34,"href":"https:\/\/www.webdot.fr\/blog\/wp-json\/wp\/v2\/posts\/106\/revisions"}],"predecessor-version":[{"id":561,"href":"https:\/\/www.webdot.fr\/blog\/wp-json\/wp\/v2\/posts\/106\/revisions\/561"}],"wp:attachment":[{"href":"https:\/\/www.webdot.fr\/blog\/wp-json\/wp\/v2\/media?parent=106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webdot.fr\/blog\/wp-json\/wp\/v2\/categories?post=106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webdot.fr\/blog\/wp-json\/wp\/v2\/tags?post=106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}