diff --git a/docker-compose/mail.yml b/docker-compose/mail.yml
index 7ac7c7041dbc492873bf47bb5292ed2b41708464..71acfa789cf82e3d570a968627fb335f875e206c 100644
--- a/docker-compose/mail.yml
+++ b/docker-compose/mail.yml
@@ -27,7 +27,8 @@ services:
       - mail
    volumes:
       - /var/lib/docker/volumes/mail-mta-log/_data:/var/log
-      - /DATA/docker/mail/opendkim/nov2018.private:/etc/dkimkeys/nov2018.picasoft.net.rsa
+#doit contenir selecteur.domaine.rsa
+      - /DATA/docker/mail/opendkim/:/etc/dkimkeys/
       - /DATA/docker/mail/ssl/:/certs-ssl/
    environment:
 #adresse et port du serveur LMTP i.e. le MTA
@@ -45,7 +46,7 @@ services:
      LDAP_PORT: 389
 #réglage du bind : login et mot de passe d'un compte qui a suffisamment de droits pour lire l'arborescence (à l'exception des mots de passe)
      LDAP_BIND_DN: cn=readonly,dc=picasoft,dc=net
-     LDAP_BIND_PW readonly
+     LDAP_BIND_PW: readonly
 #réglage de la manière dont on répertorie les comptes et les adresses existantes
 #la config actuelle fait que la possession d'une adresse mail se fait ainsi : login => login@picasoft.net
 #cependant, nous avons quand même deux couches différentes: l'existence d'un compte (SASL) et l'existence d'une adresse
@@ -54,14 +55,15 @@ services:
 #pour ce faire, il suffit d'utiliser des attributs LDAP différents
 #nous utilisons donc le cn pour l'existence d'un compte LDAP, et l'uid pour l'existence d'une adresse
 #niveau de l'arborescence à partir duquel les entrées sont trouvées:
-     LDAP_SEARCH_BASE dc=picasoft,dc=net
+     LDAP_SEARCH_BASE: dc=picasoft,dc=net
 #filtre permettant de répertorier les comptes SASL
-     LDAP_SASL_FILTER cn=%u
+     LDAP_SASL_FILTER: cn=%u
 #filtre permettant de répertorier les adresses mail
-     LDAP_VIRTUAL_MAILBOX_FILTER uid=%s
+     LDAP_VIRTUAL_MAILBOX_FILTER: uid=%s
 #ajout de listes noires pour éviter le SPAM. La décision politique et l'éthique associée sortent du cadre de la conception de cette image et doivent être discutées par l'asso; en tout cas, si on lève cette restriction, elle doit être remplacée par une autre (un spamassassin par exemple).
-     SMTPD_CLIENT_RESTRICTIONS reject_rbl_client sbl.spamhaus.org, reject_rbl_client dnsbl.sorbs.net
-
+     SMTPD_CLIENT_RESTRICTIONS: reject_rbl_client sbl.spamhaus.org, reject_rbl_client dnsbl.sorbs.net
+#prefixe DKIM, utilise pour identifier la clef
+     DKIM_SELECTOR: nov2018
    labels:
       - "traefik.frontend.rule=Host:mail.test.picasoft.net"
       - "traefik.port=80"
diff --git a/pica-mail-mta/Dockerfile b/pica-mail-mta/Dockerfile
index 4fef2285b578fdeb1bc8bc5e50212bfdc24c0abc..6d6d597f6800f1916606f4d0a52dc6cd0160c14e 100644
--- a/pica-mail-mta/Dockerfile
+++ b/pica-mail-mta/Dockerfile
@@ -56,6 +56,7 @@ RUN mkdir /etc/opendmarc
 COPY --chown=opendmarc:opendmarc spam/ignore.hosts /etc/opendmarc/ignore.hosts
 
 COPY saslauthd-postfix /etc/default/
+COPY opendkim-tables.sh /
 COPY config.sh /
 COPY entrypoint.sh /
 
diff --git a/pica-mail-mta/config.sh b/pica-mail-mta/config.sh
index 70fd98c9e94db6a4ce8c18567d90783d937f6c7f..db402983f81fce1b21368933c602d991b7d21da3 100755
--- a/pica-mail-mta/config.sh
+++ b/pica-mail-mta/config.sh
@@ -102,6 +102,8 @@ AuthservID ${MY_HOSTNAME}
 EOF
 
 #configuration DKIM
+#ecriture des tables indiquant quoi signer avec quelle clef
+/opendkim-tables.sh
 postconf -e "milter_default_action = accept"
 postconf -e "milter_protocol = 6"
 postconf -e "smtpd_milters = local:/opendkim/opendkim.sock, local:/opendmarc/opendmarc.sock"
diff --git a/pica-mail-mta/opendkim-tables.sh b/pica-mail-mta/opendkim-tables.sh
new file mode 100755
index 0000000000000000000000000000000000000000..140b7a457c2911a00e05e3f793d4b4b1bf4d74bc
--- /dev/null
+++ b/pica-mail-mta/opendkim-tables.sh
@@ -0,0 +1,15 @@
+if [ -z ${MY_DOMAIN+x} ]
+then
+  >&2 echo "Fatal to opendkim set-up : MY_DOMAIN environment variable is unset"
+  exit 1
+fi
+if [ -z ${DKIM_SELECTOR+x} ]
+then
+  >&2 echo "Fatal to opendkim set-up : DKIM_SELECTOR environment variable is unset"
+  exit 1
+fi
+echo "pica-generating opendkim tables (rsakeys and signingdomains tables) for domain ${MY_DOMAIN} and selector ${DKIM_SELECTOR}"
+rm /etc/dkimkeys/rsakeys.table
+echo "${DKIM_SELECTOR}._domainkey.${MY_DOMAIN} ${MY_DOMAIN}:${DKIM_SELECTOR}:/etc/dkimkeys/${DKIM_SELECTOR}.${MY_DOMAIN}.rsa" > /etc/dkimkeys/rsakeys.table
+rm /etc/dkimkeys/signingdomains.table
+echo "*@${MY_DOMAIN} ${DKIM_SELECTOR}._domainkey.${MY_DOMAIN}" > /etc/dkimkeys/signingdomains.table