{"id":1583,"date":"2014-07-03T06:41:56","date_gmt":"2014-07-03T05:41:56","guid":{"rendered":"http:\/\/michauko.org\/blog\/?p=1583"},"modified":"2018-08-04T10:31:53","modified_gmt":"2018-08-04T09:31:53","slug":"migration-courier-imap-dovecot","status":"publish","type":"post","link":"https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/","title":{"rendered":"Migration courier-imap => dovecot"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/michauko.org\/blog\/wp-content\/uploads\/2014\/07\/dovecotLogo.jpg\" alt=\"dovecotLogo\" width=\"200\" height=\"87\" class=\"alignleft size-full wp-image-1621\" \/><\/p>\n<h2>C&rsquo;est quoi \u00e7a encore ?<\/h2>\n<p>Dans <a href=\"\/blog\/tag\/postfix\/\" target=\"_blank\">des articles pr\u00e9c\u00e9dents<\/a>, je montre comment se monter un serveur de mails assez complet sous Debian. Mais un choix fait il y a fort longtemps, le choix de courier-imap et courier-pop comme brique g\u00e9rant l&rsquo;IMAP et le POP, n&rsquo;avait pas \u00e9t\u00e9 bien r\u00e9fl\u00e9chi et il se trouve que courier-* manque de fonctions, notamment la prise en charge du protocole SIEVE, permettant du tri de mails en amont, sur le serveur.<br \/>\nApr\u00e8s un peu d&rsquo;utilisation, il y a aussi d&rsquo;autres petites choses qui se passent mieux avec dovecot plut\u00f4t que courier-*. Bref, autant y aller.<!--more--><\/p>\n<p>Ainsi, avec Dovecot, lorsque les utilisateurs sont virtuels (en base MySQL ici), on peut r\u00e9gler les filtres (et r\u00e9pondeur automatique) depuis par exemple le webmail ou un plugin pour Thunderbird g\u00e9rant le SIEVE (mais ce plugin est plus brut, il faut \u00e9crire le script SIEVE au lieu de le g\u00e9n\u00e9rer graphiquement comme avec RoundCube).<br \/>\nAu passage, j&rsquo;en ai profit\u00e9 pour ajouter (obliger en fait !) le TLS sur les ports non s\u00e9curis\u00e9s ; c&rsquo;est une alternative au SSL, bien plus en vogue. Perso, j&rsquo;ai tout tol\u00e9r\u00e9 (SSL, TLS sur port normal) et simplement interdit le mode \u00ab\u00a0tout en clair\u00a0\u00bb.<\/p>\n<p>Voici donc comment migrer ; c&rsquo;est assez rapide une fois qu&rsquo;on s&rsquo;est pay\u00e9 pas mal de docs, tuto etc<br \/>\nEn gros on change la couche IMAP (de courier \u00e0 dovecot), on le configure, on adapte les structures Maildir &#8211; automatiquement gr\u00e2ce \u00e0 un script de migration pr\u00e9vu pour &#8211; pour que dovecot trouve ses petits \u00e0 partir de l&rsquo;existant courier (fichiers courierimapsubscribed &#038; co), on change 2\/3 trucs dans postfix et on relance postfix et dovecot. Zou.<!--more--><\/p>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<p>Je suis parti de ces documents l\u00e0 :<br \/>\nhttps:\/\/library.linode.com\/email\/postfix\/postfix2.9.6-dovecot2.0.19-mysql &#8211; sauf pour le cryptage des mots de passe, car je suis parti sur des mots de passe des mes utilisateurs virtuels assez simples (via la fonction MySQL ENCRYPT) l\u00e0 o\u00f9 un SHA-512 aurait p\u00fb \u00eatre plus pertinent.<br \/>\ndonc j&rsquo;ai mix\u00e9 la doc avec celle-ci : http:\/\/www.pointroot.org\/index.php\/2012\/04\/13\/un-serveur-de-mails-debian-postfix-dovecot-mysql-smtps-imaps\/<\/p>\n<h2>Avant de commencer<\/h2>\n<p>Avant de r\u00e9aliser la bascule, pr\u00e9venez vos utilisateurs que \u00e7a va couper ; et mieux, coupez vos acc\u00e8s aux ports imap, imaps, pop3, pop3s (si vous utilisez le POP).<br \/>\nJe n&rsquo;ai pas eu de surprise trop mauvaises \u00e0 la relance. Les clients Apple (iphone, mail, ipad) ont perdu les sous-r\u00e9pertoires des bo\u00eetes mails, je n&rsquo;ai rien trouv\u00e9 d&rsquo;autre que d&rsquo;effacer les comptes et de les recr\u00e9er&#8230; merci apple.<br \/>\nOutlook s&rsquo;en est bien sorti et suivant les versions, il a voulu &#8211; ou pas &#8211; cr\u00e9er des r\u00e9pertoires \u00ab\u00a0El\u00e9ments envoy\u00e9s\u00a0\u00bb plut\u00f4t que \u00ab\u00a0Sent\u00a0\u00bb ; \u00e0 voir suivant vos versions. A la limite, c&rsquo;est plut\u00f4t cool, sauf si les noms habituels \u00ab\u00a0Sent, Trash\u00a0\u00bb etc sont d\u00e9finis \u00e0 d&rsquo;autres endroits, comme par exemple dans votre webmail.<\/p>\n<p>Vous pouvez aussi bloquer votre serveur SMTP afin que les mails n&rsquo;entrent plus. En effet, on supprime \u00e9ventuellement procmail et vacation si vous l&rsquo;utilisiez ; et le temps que le reste soit en place, c&rsquo;est mieux qu&rsquo;aucun mail ne transite. On pourrait avoir des mails qui se perdent je pense, sinon.<\/p>\n<h2>On installe Dovecot<\/h2>\n<p>L&rsquo;acc\u00e8s aux ports IMAP et POP est coup\u00e9 ? on attaque<\/p>\n<h3>Ajout du mode TLS uniquement pour renforcer la s\u00e9curit\u00e9<\/h3>\n<p>Dans <code>\/etc\/postfix\/main.cf<\/code> j&rsquo;ajoute <code>smtpd_tls_auth_only = yes<\/code><\/p>\n<h3>Configuration pour dovecot<\/h3>\n<p>Dans <code>\/etc\/postfix\/main.cf<\/code>, j&rsquo;ajoute ou modifie :<br \/>\n<code>smtpd_sasl_type = dovecot<br \/>\nsmtpd_sasl_path = private\/auth<br \/>\nvirtual_transport = lmtp:unix:private\/dovecot-lmtp<\/code><\/p>\n<h3>Ajout de submission dans postfix<\/h3>\n<p>Pour vraiment prendre en charge tous les protocoles (port 587), dans <code>\/etc\/postfix\/master.cf<\/code>, d\u00e9commenter les lignes du protocole \u00ab\u00a0submission\u00a0\u00bb :<br \/>\n<code>submission inet n       -       -       -       -       smtpd<br \/>\n  -o smtpd_tls_security_level=encrypt<br \/>\n  -o smtpd_sasl_auth_enable=yes<br \/>\n  -o smtpd_client_restrictions=permit_sasl_authenticated,reject<br \/>\n  -o milter_macro_daemon_name=ORIGINATING<\/code><\/p>\n<h3>D\u00e9sactivation de procmail et vacation<\/h3>\n<p>Si vous utilisiez procmail, vous aviez peut-\u00eatre des lignes commen\u00e7ant par <code>procmailpipe_<\/code> (ou un autre nom venant un pipe cr\u00e9\u00e9 dans le master.cf<br \/>\nOn enl\u00e8ve aussi \u00e7a : <code>mailbox_command = \/usr\/bin\/procmail -a \"$EXTENSION\"<\/code><br \/>\nDans ma base MySQL, j&rsquo;avais un tas de \u00ab\u00a0forwardings\u00a0\u00bb vers ces pipe + dans la table transport ; je les supprime. C&rsquo;est ce qui permettait de renvoyer vers procmail ou vacation pour le r\u00e9pondeur de vacances.<\/p>\n<h3>Installation de DOVECOT &#8211; sans sieve pour l&rsquo;instant, pour ne pas tout m\u00e9langer<\/h3>\n<pre>aptitude install dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-mysql\r\ncp \/etc\/dovecot\/dovecot.conf \/etc\/dovecot\/dovecot.conf.orig\r\ncp \/etc\/dovecot\/conf.d\/10-mail.conf \/etc\/dovecot\/conf.d\/10-mail.conf.orig\r\ncp \/etc\/dovecot\/conf.d\/10-auth.conf \/etc\/dovecot\/conf.d\/10-auth.conf.orig\r\ncp \/etc\/dovecot\/dovecot-sql.conf.ext \/etc\/dovecot\/dovecot-sql.conf.ext.orig\r\ncp \/etc\/dovecot\/conf.d\/10-master.conf \/etc\/dovecot\/conf.d\/10-master.conf.orig\r\ncp \/etc\/dovecot\/conf.d\/10-ssl.conf \/etc\/dovecot\/conf.d\/10-ssl.conf.orig<\/pre>\n<p>Ensuite on adapte.<\/p>\n<p>Dans <code>\/etc\/dovecot\/dovecot.conf<\/code> ligne 21 apr\u00e8s include_try *.protocol :<br \/>\n<code>protocols = imap pop3 lmtp<\/code><br \/>\nOn peut se passer du pop3 (suivant votre cas) et on prend le LDA lmtp ; le LDA est le Local Delivery Agent, le programme en charge de prendre le mail du serveur postfix vers la bo\u00eete mail de la personne.<\/p>\n<p>Dans <code>\/etc\/dovecot\/conf.d\/10-mail.conf<\/code> :<br \/>\nLigne 30 :<br \/>\n<code>#mail_location = mbox:~\/mail:INBOX=\/var\/mail\/%u<br \/>\nmail_location = maildir:\/vmailboxes\/%d\/%n<\/code><br \/>\nCar mes identifiants de compte sont de la forme user@domain.com et pas juste \u00ab\u00a0user\u00a0\u00bb.<br \/>\nLigne 116 :<br \/>\n<code>mail_privileged_group = vmail<\/code><\/p>\n<p>Dans <code>\/etc\/dovecot\/conf.d\/10-auth.conf<\/code> :<br \/>\nLigne 10 :<br \/>\n<code>disable_plaintext_auth = yes<\/code><br \/>\nSi on veut renforcer un peu la s\u00e9cu ; lire les commentaires au-dessus de ce param\u00e8tre pour bien comprendre<br \/>\nLigne 102 :<br \/>\n<code>auth_mechanisms = plain login<\/code><br \/>\nLigne 127 : j&rsquo;inverse les 2 lignes pour indiquer que je fais une authentification par SQL, pas par compte syst\u00e8me :<br \/>\n<code>#!include auth-system.conf.ext<br \/>\n!include auth-sql.conf.ext<\/code><\/p>\n<p>Dans <code>\/etc\/dovecot\/conf.d\/auth-sql.conf.ext<\/code> :<br \/>\nA la fin du fichier &#8211; si j&rsquo;ai bien compris &#8211; on lui dit d&rsquo;aller v\u00e9rifier l&rsquo;existence d&rsquo;un compte (pas son mot de passe) simplement en se basant sur la pr\u00e9sence ou non du r\u00e9pertoire correspondant, au lieu d&rsquo;aller requ\u00eater pour peu de choses :<br \/>\n<code>#userdb {<br \/>\n#  driver = sql<br \/>\n#  args = \/etc\/dovecot\/dovecot-sql.conf.ext<br \/>\n#}<\/p>\n<p># If you don't have any user-specific settings, you can avoid the user_query<br \/>\n# by using userdb static instead of userdb sql, for example:<br \/>\n# <doc\/wiki\/UserDatabase.Static.txt><br \/>\nuserdb {<br \/>\n  driver = static<br \/>\n  #args = uid=vmail gid=vmail home=\/var\/vmail\/%u<br \/>\n  args = uid=vmail gid=vmail home=\/vmailboxes\/%d\/%n<br \/>\n}<\/code><br \/>\nIdem, mes comptes sont cr\u00e9\u00e9s de la sorte : \/vmailboxes\/&lsaquo;mondomain.com&rsaquo;\/&lsaquo;monuser&rsaquo; pour un compte user@domain.com<br \/>\nAjouter enfin :<br \/>\n<code>driver = mysql<br \/>\nconnect = host=mon_serveur_mysql dbname=ma_db_postfix user=mon_admin password=mon_pass<br \/>\ndefault_pass_scheme = CRYPT<br \/>\npassword_query = SELECT email as user, password FROM users WHERE email='%u';<\/code><br \/>\nC&rsquo;est ici que, si j&rsquo;avais opt\u00e9 pour un cryptage plus costaud d\u00e8s le d\u00e9part, j&rsquo;aurais pu le pr\u00e9ciser, type SHA-512.<\/p>\n<p>Dans <code>\/etc\/dovecot\/conf.d\/10-master.conf<\/code> :<br \/>\nLigne 53 :<br \/>\n<code>  unix_listener \/var\/spool\/postfix\/private\/dovecot-lmtp {<br \/>\n    #mode = 0666<br \/>\n    mode = 0600<br \/>\n    user = postfix<br \/>\n    group = postfix<\/code><br \/>\nLigne 85 :<br \/>\n<code>  unix_listener \/var\/spool\/postfix\/private\/auth {<br \/>\n    mode = 0666<br \/>\n    user = postfix<br \/>\n    group = postfix<br \/>\n  }<\/code><br \/>\nLigne 106 :<br \/>\n<code>    mode = 0600<br \/>\n    user = vmail<\/code><br \/>\nLigne 120 :<br \/>\n<code>    user=dovecot<\/code><br \/>\nLigne 130 :<br \/>\n<code>    user=vmail<\/code><\/p>\n<p>Dans <code>\/etc\/dovecot\/conf.d\/10-ssl.conf<\/code> :<br \/>\nAu d\u00e9but, \u00e0 vous de voir si vous mettez yes\/no ou carr\u00e9ment imposez avec \u00ab\u00a0required\u00a0\u00bb le param\u00e8tre \u00ab\u00a0ssl\u00a0\u00bb. Puis, si vous aviez d\u00e9j\u00e0 des certificats :<br \/>\n<code>ssl_cert = &lsaquo;\/etc\/postfix\/smtpd.cert<br \/>\nssl_key = &lsaquo;\/etc\/postfix\/smtpd.key<\/code><\/p>\n<p>Voil\u00e0 pour cette premi\u00e8re passe sur la configuration Dovecot.<br \/>\nOn adapte quelques permissions et on relance :<\/p>\n<pre>chown -R vmail:dovecot \/etc\/dovecot\r\nchmod -R o-rwx \/etc\/dovecot\r\nservice dovecot restart\r\nservice postfix restart<\/pre>\n<h3>Choix imap VS imaps, pop ou pas pop ?<\/h3>\n<p>Dans <code>\/etc\/dovecot\/conf.d\/10-master.conf<\/code> :<br \/>\nOn d\u00e9sactive un protocole en mettant son \u00ab\u00a0port\u00a0\u00bb \u00e0 0 ; sinon en laissant en commentaire.<br \/>\nConcernant IMAP vs IMAPS, pensez bien qu&rsquo;avec TLS, le IMAP normal devient tout aussi secure que IMAPS (SSL).<\/p>\n<h3>Conversion des fichiers courierimap* vers la structure Dovecot<\/h3>\n<p>Il y a un outil tr\u00e8s bien fait et expliqu\u00e9 ici : <a href=\"http:\/\/wiki2.dovecot.org\/Migration\/Courier\">http:\/\/wiki2.dovecot.org\/Migration\/Courier<\/a><br \/>\nOn le lance en faisant <code>\/root\/courier-dovecot-migrate.pl --to-dovecot --recursive \/vmailboxes # puis idem avec --convert<\/code><\/p>\n<h3>TLS dans roundcube<\/h3>\n<p>Si c&rsquo;est l&rsquo;occasion pour vous aussi de renforcer le cryptage au niveau r\u00e9seau, vous pouvez ajouter <code>tls:\/\/<\/code> devant le nom du serveur SMTP dans le fichier <code>main.inc.php<\/code>, variable <code>$rcmail_config['smtp_server']<\/code> de RoundCube.<br \/>\nC&rsquo;est obligatoire si vous avez forc\u00e9 le TLS dans postfix via <code>smtpd_tls_auth_only = yes<\/code> dans le <code>main.cf<\/code>.<\/p>\n<h2>Ajout de SIEVE<\/h2>\n<h3>SIEVE dans Dovecot<\/h3>\n<p>Rappel, c&rsquo;est pour permettre le tri c\u00f4t\u00e9 serveur des messages. C&rsquo;est vacation et procmail, en plus accessible. Et utilisable par un utilisateur lambda via le plugin qui va bien dans RoundCube.<br \/>\nPour avoir SIEVE sur LMTP (et non le LDA normal), j&rsquo;ai utilis\u00e9 cette doc : <a href=\"https:\/\/rtcamp.com\/tutorials\/mail\/server\/sieve-filtering\/\" target=\"_blank\">https:\/\/rtcamp.com\/tutorials\/mail\/server\/sieve-filtering\/<\/a><br \/>\nD&rsquo;abord, on ajoute ce qu&rsquo;il manque \u00e0 Dovecot :<\/p>\n<pre>aptitude install dovecot-sieve dovecot-managesieved<\/pre>\n<p>Ce qui a pour but de cr\u00e9er les fichiers <code>20-managesieve.conf<\/code> et <code>90-sieve.conf<\/code> dans <code>\/etc\/dovecot\/conf.d\/<\/code>.<br \/>\nDu coup, on pr\u00e9cise \u00e0 Dovecot qu&rsquo;il doit proposer SIEVE.<\/p>\n<p>Dans <code>\/etc\/dovecot\/dovecot.conf<\/code>, on ajoute le protocole sieve dans la liste des protocols d\u00e9finie tout \u00e0 l&rsquo;heure.<br \/>\nDans <code>\/etc\/dovecot\/conf.d\/20-lmtp.conf<\/code>, on change :<br \/>\n<code>  #mail_plugins = $mail_plugins<br \/>\n  mail_plugins = $mail_plugins sieve<br \/>\n  postmaster_address = vous@quelquepart.fr<\/code><\/p>\n<p>Dans <code>\/etc\/dovecot\/conf.d\/90-sieve.conf<\/code> :<br \/>\nLigne 11, on indique o\u00f9 stocker le script SIEVE (c&rsquo;est un langage) associ\u00e9 au compte :<br \/>\n<code>  #sieve = ~\/.dovecot.sieve<br \/>\n  sieve = \/vmailboxes\/%d\/%n\/dovecot.sieve<\/code><\/p>\n<p>On relance Dovecot et c&rsquo;est tout \ud83d\ude42<\/p>\n<h3>plugin SIEVE dans RoundCube<\/h3>\n<p>De base, on a le plugin \u00ab\u00a0managesieve\u00a0\u00bb dans RoundCube. Il vaut mieux r\u00e9cup\u00e9rer \u00ab\u00a0sieverules\u00a0\u00bb qui est bien mieux fait. C&rsquo;est ici : <a href=\"https:\/\/github.com\/JohnDoh\/Roundcube-Plugin-SieveRules-Managesieve\/releases\" target=\"_blank\">https:\/\/github.com\/JohnDoh\/Roundcube-Plugin-SieveRules-Managesieve\/releases<\/a><\/p>\n<p>Il ne faut pas prendre b\u00eatement la derni\u00e8re version, mais celle qui va bien en fonction de votre version roundcube. Le tableau de compatibilit\u00e9 est l\u00e0 : <a href=\"http:\/\/plugins.roundcube.net\/packages\/johndoh\/sieverules\" target=\"_blank\">http:\/\/plugins.roundcube.net\/packages\/johndoh\/sieverules<\/a><br \/>\nJe r\u00e9cup\u00e8re donc <code>wget https:\/\/github.com\/JohnDoh\/Roundcube-Plugin-SieveRules-Managesieve\/archive\/2.0.tar.gz<\/code>, je renomme le r\u00e9pertoire obtenu en sieverules et le place dans \u00ab\u00a0plugins\u00a0\u00bb de l&rsquo;installation roundcube.<br \/>\nDans le r\u00e9pertoire du plugin :<br \/>\n1) on cr\u00e9e un fichier config.inc.php \u00e0 partir du config.inc.php.dist, on change le port de 2000 \u00e0 4190 (la nouvelle norme de sieve, sur lequel notre Dovecot s&rsquo;attend \u00e0 trouver SIEVE).<br \/>\n2) on peut l\u00e0 aussi activer le TLS via <code>$rcmail_config['sieverules_usetls'] = TRUE;<\/code><\/p>\n<p>Une limitation : les accents ne sont pas appr\u00e9ci\u00e9s dans les noms de r\u00e9pertoire, j&rsquo;obtiens l&rsquo;erreur suivante si je fais une r\u00e8gle de tri vers un r\u00e9pertoire avec accent :<br \/>\n<code>sieve: info: started log at Mar 31 10:03:17.<br \/>\nerror: msgid=<53392139.5060003@toto.com>: failed to store into mailbox '_ blabla &AOA- avecaccent': Mailbox doesn't exist: _ blabla &-AOA- avecaccent.<\/code><\/p>\n<p>Ne pas oublier d&rsquo;activer le plugin dans la conf Roundcube, dans le config\/main.inc.php :<br \/>\n<code>$rcmail_config['plugins'] = array('password', 'fail2ban', 'zipdownload', 'show_additional_headers', 'jqueryui', 'sieverules', 'quickrules');<\/code><br \/>\nJe crois que \u00ab\u00a0jqueryui\u00a0\u00bb est un pr\u00e9-requis pour sieverules ; trou de m\u00e9moire.<\/p>\n<h2>Remarques finales<\/h2>\n<ul>\n<li>Penser \u00e0 lire les logs de roundcube au d\u00e9but, dans le sous-r\u00e9pertoire <code>logs\/<\/code>.<\/li>\n<li>attention aux permissions www-data sur le r\u00e9pertoire plugins\/sieverules et partout o\u00f9 on a mis nos gros doigts<\/li>\n<li>C\u00f4t\u00e9 procmail, vacation, penser \u00e0 supprimer tout ce qui les concerne dans master.cf (le pipe), dans les r\u00e8gles de transport, les forwardings etc + les \u00e9ventuels liens symboliques du fait de procmail, dans \/vmailboxes (si vous avez suivi mes docs jusqu&rsquo;alors)<\/li>\n<li>Nettoyer les fichiers courierimap* des Maildir une fois qu&rsquo;on est s\u00fbr de ne pas faire de retour arri\u00e8re<\/li>\n<li>Se cr\u00e9er un fichier \u00ab\u00a0subscriptions\u00a0\u00bb (rempla\u00e7ant de courierimapsubscribed) de r\u00e9f\u00e9rence pour les abonnements par d\u00e9faut des comptes que l&rsquo;on cr\u00e9e dans le futur<\/li>\n<li>Penser \u00e0 lire le fichier dovecot.sieve.log de chaque Maildir pour comprendre les bugs (c&rsquo;est l\u00e0 que j&rsquo;ai vu que les accents ne passaient pas)<\/li>\n<li>Pour faire du SIEVE dans Thunderbird (d\u00e9j\u00e0 il faut rendre son port 4190 accessible), c&rsquo;est l\u00e0 : <a href=\"https:\/\/github.com\/thsmi\/sieve\/blob\/master\/nightly\/README.md\" target=\"_blank\">https:\/\/github.com\/thsmi\/sieve\/blob\/master\/nightly\/README.md<\/a> car \u00e0 l&rsquo;\u00e9poque o\u00f9 j&rsquo;ai fait la manip, le plugin dans sa version officielle sur le site d&rsquo;extensions Thunderbird ne fonctionnait pas pour TBird 24 et +<\/li>\n<li>D\u00e9sinstaller les paquets vacation, procmail<\/li>\n<\/ul>\n<p>Voil\u00e0, j&rsquo;esp\u00e8re ne rien avoir oubli\u00e9&#8230; \u00e7a para\u00eet long mais ce n&rsquo;est pas tr\u00e8s compliqu\u00e9 au final.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>C&rsquo;est quoi \u00e7a encore ? Dans des articles pr\u00e9c\u00e9dents, je montre comment se monter un serveur de mails assez complet sous Debian. Mais un choix fait il y a fort longtemps, le choix de courier-imap &hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[2,385,82],"tags":[175,550,278,551],"class_list":["post-1583","post","type-post","status-publish","format-standard","hentry","category-debian","category-mails","category-pl","tag-courier-imap","tag-dovecot","tag-roundcube","tag-sieve"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Migration courier-imap =&gt; dovecot - Le blog de Michauko<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Migration courier-imap =&gt; dovecot - Le blog de Michauko\" \/>\n<meta property=\"og:description\" content=\"C&rsquo;est quoi \u00e7a encore ? Dans des articles pr\u00e9c\u00e9dents, je montre comment se monter un serveur de mails assez complet sous Debian. Mais un choix fait il y a fort longtemps, le choix de courier-imap &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/\" \/>\n<meta property=\"og:site_name\" content=\"Le blog de Michauko\" \/>\n<meta property=\"article:published_time\" content=\"2014-07-03T05:41:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-08-04T09:31:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/michauko.org\/blog\/wp-content\/uploads\/2014\/07\/dovecotLogo.jpg\" \/>\n<meta name=\"author\" content=\"michauko\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"michauko\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/migration-courier-imap-dovecot-1583\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/migration-courier-imap-dovecot-1583\\\/\"},\"author\":{\"name\":\"michauko\",\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/#\\\/schema\\\/person\\\/0cd9f3d9ce4dccc05df81a5b27051ea9\"},\"headline\":\"Migration courier-imap => dovecot\",\"datePublished\":\"2014-07-03T05:41:56+00:00\",\"dateModified\":\"2018-08-04T09:31:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/migration-courier-imap-dovecot-1583\\\/\"},\"wordCount\":1680,\"commentCount\":3,\"image\":{\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/migration-courier-imap-dovecot-1583\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/michauko.org\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/07\\\/dovecotLogo.jpg\",\"keywords\":[\"courier-imap\",\"dovecot\",\"roundcube\",\"sieve\"],\"articleSection\":[\"Debian\",\"mails\",\"planet-libre.org\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/michauko.org\\\/blog\\\/migration-courier-imap-dovecot-1583\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/migration-courier-imap-dovecot-1583\\\/\",\"url\":\"https:\\\/\\\/michauko.org\\\/blog\\\/migration-courier-imap-dovecot-1583\\\/\",\"name\":\"Migration courier-imap => dovecot - Le blog de Michauko\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/migration-courier-imap-dovecot-1583\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/migration-courier-imap-dovecot-1583\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/michauko.org\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/07\\\/dovecotLogo.jpg\",\"datePublished\":\"2014-07-03T05:41:56+00:00\",\"dateModified\":\"2018-08-04T09:31:53+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/#\\\/schema\\\/person\\\/0cd9f3d9ce4dccc05df81a5b27051ea9\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/migration-courier-imap-dovecot-1583\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/michauko.org\\\/blog\\\/migration-courier-imap-dovecot-1583\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/migration-courier-imap-dovecot-1583\\\/#primaryimage\",\"url\":\"https:\\\/\\\/michauko.org\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/07\\\/dovecotLogo.jpg\",\"contentUrl\":\"https:\\\/\\\/michauko.org\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/07\\\/dovecotLogo.jpg\",\"width\":200,\"height\":87},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/migration-courier-imap-dovecot-1583\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/michauko.org\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Migration courier-imap => dovecot\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/michauko.org\\\/blog\\\/\",\"name\":\"Le blog de Michauko\",\"description\":\"Si tu ne comprends pas le titre de l&#039;article, passe ton chemin\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/michauko.org\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/michauko.org\\\/blog\\\/#\\\/schema\\\/person\\\/0cd9f3d9ce4dccc05df81a5b27051ea9\",\"name\":\"michauko\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c3a8969c185fd0eef3893a15408f3ef1b36a6681a066b1eb32045643c30ba65?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c3a8969c185fd0eef3893a15408f3ef1b36a6681a066b1eb32045643c30ba65?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c3a8969c185fd0eef3893a15408f3ef1b36a6681a066b1eb32045643c30ba65?s=96&d=mm&r=g\",\"caption\":\"michauko\"},\"sameAs\":[\"http:\\\/\\\/michauko.org\\\/\"],\"url\":\"https:\\\/\\\/michauko.org\\\/blog\\\/author\\\/randomized2\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Migration courier-imap => dovecot - Le blog de Michauko","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/","og_locale":"fr_FR","og_type":"article","og_title":"Migration courier-imap => dovecot - Le blog de Michauko","og_description":"C&rsquo;est quoi \u00e7a encore ? Dans des articles pr\u00e9c\u00e9dents, je montre comment se monter un serveur de mails assez complet sous Debian. Mais un choix fait il y a fort longtemps, le choix de courier-imap &hellip;","og_url":"https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/","og_site_name":"Le blog de Michauko","article_published_time":"2014-07-03T05:41:56+00:00","article_modified_time":"2018-08-04T09:31:53+00:00","og_image":[{"url":"https:\/\/michauko.org\/blog\/wp-content\/uploads\/2014\/07\/dovecotLogo.jpg","type":"","width":"","height":""}],"author":"michauko","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"michauko","Dur\u00e9e de lecture estim\u00e9e":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/#article","isPartOf":{"@id":"https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/"},"author":{"name":"michauko","@id":"https:\/\/michauko.org\/blog\/#\/schema\/person\/0cd9f3d9ce4dccc05df81a5b27051ea9"},"headline":"Migration courier-imap => dovecot","datePublished":"2014-07-03T05:41:56+00:00","dateModified":"2018-08-04T09:31:53+00:00","mainEntityOfPage":{"@id":"https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/"},"wordCount":1680,"commentCount":3,"image":{"@id":"https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/#primaryimage"},"thumbnailUrl":"https:\/\/michauko.org\/blog\/wp-content\/uploads\/2014\/07\/dovecotLogo.jpg","keywords":["courier-imap","dovecot","roundcube","sieve"],"articleSection":["Debian","mails","planet-libre.org"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/","url":"https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/","name":"Migration courier-imap => dovecot - Le blog de Michauko","isPartOf":{"@id":"https:\/\/michauko.org\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/#primaryimage"},"image":{"@id":"https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/#primaryimage"},"thumbnailUrl":"https:\/\/michauko.org\/blog\/wp-content\/uploads\/2014\/07\/dovecotLogo.jpg","datePublished":"2014-07-03T05:41:56+00:00","dateModified":"2018-08-04T09:31:53+00:00","author":{"@id":"https:\/\/michauko.org\/blog\/#\/schema\/person\/0cd9f3d9ce4dccc05df81a5b27051ea9"},"breadcrumb":{"@id":"https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/#primaryimage","url":"https:\/\/michauko.org\/blog\/wp-content\/uploads\/2014\/07\/dovecotLogo.jpg","contentUrl":"https:\/\/michauko.org\/blog\/wp-content\/uploads\/2014\/07\/dovecotLogo.jpg","width":200,"height":87},{"@type":"BreadcrumbList","@id":"https:\/\/michauko.org\/blog\/migration-courier-imap-dovecot-1583\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/michauko.org\/blog\/"},{"@type":"ListItem","position":2,"name":"Migration courier-imap => dovecot"}]},{"@type":"WebSite","@id":"https:\/\/michauko.org\/blog\/#website","url":"https:\/\/michauko.org\/blog\/","name":"Le blog de Michauko","description":"Si tu ne comprends pas le titre de l&#039;article, passe ton chemin","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/michauko.org\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/michauko.org\/blog\/#\/schema\/person\/0cd9f3d9ce4dccc05df81a5b27051ea9","name":"michauko","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/5c3a8969c185fd0eef3893a15408f3ef1b36a6681a066b1eb32045643c30ba65?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5c3a8969c185fd0eef3893a15408f3ef1b36a6681a066b1eb32045643c30ba65?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c3a8969c185fd0eef3893a15408f3ef1b36a6681a066b1eb32045643c30ba65?s=96&d=mm&r=g","caption":"michauko"},"sameAs":["http:\/\/michauko.org\/"],"url":"https:\/\/michauko.org\/blog\/author\/randomized2\/"}]}},"_links":{"self":[{"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/posts\/1583","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/comments?post=1583"}],"version-history":[{"count":22,"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/posts\/1583\/revisions"}],"predecessor-version":[{"id":1770,"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/posts\/1583\/revisions\/1770"}],"wp:attachment":[{"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/media?parent=1583"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/categories?post=1583"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/michauko.org\/blog\/wp-json\/wp\/v2\/tags?post=1583"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}