muerwre.github.io/docs/api/_content/query/sxx5hHqDHF.json
2024-03-06 11:16:30 +00:00

1 line
No EOL
27 KiB
JSON

{"_path":"/docker/common-things-with-docker-mailserver","_dir":"docker","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Common Things With Docker Mailserver","description":"","excerpt":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"1-docker-mailserver-ssl-alert-number-42"},"children":[{"type":"text","value":"1. docker-mailserver SSL alert number 42"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"I was getting following error after setting up TLS certificates in docker-mailserver after setting it up with "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"letsencrypt"}]},{"type":"text","value":":"}]},{"type":"element","tag":"code","props":{"code":"TLS handshaking: SSL_accept() failed: error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate: SSL alert number 42\n"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"TLS handshaking: SSL_accept() failed: error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate: SSL alert number 42\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The problem was caused by two reasons"}]},{"type":"element","tag":"h3","props":{"id":"11-letsencrypt-and-wildcard-domains"},"children":[{"type":"text","value":"1.1. Letsencrypt and wildcard domains"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"My "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"MX"}]},{"type":"text","value":" domain was "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"example.com"}]},{"type":"text","value":", bu "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"letsencrypt"}]},{"type":"text","value":" have been set up with wildcard certificate on "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"*.example.com"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"So, specifying "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"SSL_MODE=letsencrypt"}]},{"type":"text","value":" made it searching for "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"/etc/letsencrypt/mail.example.com"}]},{"type":"text","value":", when it was just "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"/etc/letsencrypt/example.com"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"SOLUTION"}]},{"type":"text","value":":"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Change .env file to:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"SSL_MODE=manual"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"SSL_KEY_PATH=/etc/letsencrypt/example.com/fullchain.pem"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"SSL_KEY_PATH=/etc/letsencrypt/example.com/privkey.pem"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Don't forget to modify "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"docker-compose"}]},{"type":"text","value":" volumes and pass certs from host filesystem. Note: they're not "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mail.example.com"}]},{"type":"text","value":", they're just "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"example.com"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This "},{"type":"element","tag":"a","props":{"href":"https://github.com/docker-mailserver/docker-mailserver/issues/1607","rel":["nofollow"]},"children":[{"type":"text","value":"ticket"}]},{"type":"text","value":" describes it well."}]},{"type":"element","tag":"h3","props":{"id":"12-docker-was-using-internal-hostname-of-docker-mailserver"},"children":[{"type":"text","value":"1.2. Docker was using internal hostname of docker-mailserver"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Internal hostname for "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"docker-mailserver"}]},{"type":"text","value":" was just "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mail"}]},{"type":"text","value":", and other container tried to send emails to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mail:25"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"SOLUTION:"}]},{"type":"text","value":" change internal hostname in your app settings to actual, specified in your certificates and MX record."}]},{"type":"element","tag":"h3","props":{"id":"2-docker-mailserver-not-listening-on-25-port-smtp"},"children":[{"type":"text","value":"2. docker-mailserver not listening on 25 port (SMTP)"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Solution was to add quotes in your docker compose, just like that:"}]},{"type":"element","tag":"code","props":{"code":" ports:\n - \"25:25\"\n","language":"yaml"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":" ports:\n - \"25:25\"\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This "},{"type":"element","tag":"a","props":{"href":"https://github.com/docker-mailserver/docker-mailserver/issues/684#issuecomment-322029794","rel":["nofollow"]},"children":[{"type":"text","value":"ticket"}]},{"type":"text","value":" solved it"}]},{"type":"element","tag":"h3","props":{"id":"3-connect-to-docker-mailserver-from-other-docker-compose"},"children":[{"type":"text","value":"3. Connect to docker-mailserver from other docker-compose"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"I've had "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mailserver/compose.yaml"}]},{"type":"text","value":" and "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"application/compose.yaml"}]},{"type":"text","value":" and needed to connect "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"application"}]},{"type":"text","value":" to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mailserver"}]},{"type":"text","value":"."}]},{"type":"element","tag":"code","props":{"code":"// application/compose.yaml\napp:\n networks:\n - shared\nnetworks:\n shared:\n driver: bridge\n","language":"yaml"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"// application/compose.yaml\napp:\n networks:\n - shared\nnetworks:\n shared:\n driver: bridge\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"/// mailserver/compose.yaml\nmail:\n networks:\n - \"application_shared\"\nnetworks:\n application_shared:\n external: true\n","language":"yaml"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"/// mailserver/compose.yaml\nmail:\n networks:\n - \"application_shared\"\nnetworks:\n application_shared:\n external: true\n"}]}]}]},{"type":"element","tag":"h3","props":{"id":"4-how-to-convert-dkim-mailtxt-to-dns-record"},"children":[{"type":"text","value":"4. How to convert DKIM mail.txt to DNS record"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"My "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mail.txt"}]},{"type":"text","value":" was like:"}]},{"type":"element","tag":"code","props":{"code":"mail._domainkey IN TXT ( \"v=DKIM1; h=sha256; k=rsa; \"\n \"p=sOmEJuNkLiKeRaNdOmOrLikeThat\"\n \"eVeNmOrERANdOmStuFf\" ) ; ----- DKIM key mail for example.com\n"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"mail._domainkey IN TXT ( \"v=DKIM1; h=sha256; k=rsa; \"\n \"p=sOmEJuNkLiKeRaNdOmOrLikeThat\"\n \"eVeNmOrERANdOmStuFf\" ) ; ----- DKIM key mail for example.com\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"SOLUTION"}]},{"type":"text","value":": concatenate all strings inside round brackets:"}]},{"type":"element","tag":"code","props":{"code":"v=DKIM1; h=sha256; k=rsa; p=sOmEJuNkLiKeRaNdOmOrLikeThateVeNmOrERANdOmStuFf\n"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"v=DKIM1; h=sha256; k=rsa; p=sOmEJuNkLiKeRaNdOmOrLikeThateVeNmOrERANdOmStuFf\n"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"And add them as a "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"TXT"}]},{"type":"text","value":" record on my DNS provider control panel under "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mail._domainkey"}]},{"type":"text","value":" record."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Solution was right in "},{"type":"element","tag":"a","props":{"href":"https://docker-mailserver.github.io/docker-mailserver/edge/config/best-practices/dkim_dmarc_spf/#dkim-dns","rel":["nofollow"]},"children":[{"type":"text","value":"official documentation"}]},{"type":"text","value":", just hidden a little bit."}]}]},"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"1-docker-mailserver-ssl-alert-number-42"},"children":[{"type":"text","value":"1. docker-mailserver SSL alert number 42"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"I was getting following error after setting up TLS certificates in docker-mailserver after setting it up with "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"letsencrypt"}]},{"type":"text","value":":"}]},{"type":"element","tag":"code","props":{"code":"TLS handshaking: SSL_accept() failed: error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate: SSL alert number 42\n"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"TLS handshaking: SSL_accept() failed: error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate: SSL alert number 42"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The problem was caused by two reasons"}]},{"type":"element","tag":"h3","props":{"id":"11-letsencrypt-and-wildcard-domains"},"children":[{"type":"text","value":"1.1. Letsencrypt and wildcard domains"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"My "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"MX"}]},{"type":"text","value":" domain was "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"example.com"}]},{"type":"text","value":", bu "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"letsencrypt"}]},{"type":"text","value":" have been set up with wildcard certificate on "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"*.example.com"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"So, specifying "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"SSL_MODE=letsencrypt"}]},{"type":"text","value":" made it searching for "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"/etc/letsencrypt/mail.example.com"}]},{"type":"text","value":", when it was just "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"/etc/letsencrypt/example.com"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"SOLUTION"}]},{"type":"text","value":":"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Change .env file to:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"SSL_MODE=manual"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"SSL_KEY_PATH=/etc/letsencrypt/example.com/fullchain.pem"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"SSL_KEY_PATH=/etc/letsencrypt/example.com/privkey.pem"}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Don't forget to modify "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"docker-compose"}]},{"type":"text","value":" volumes and pass certs from host filesystem. Note: they're not "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mail.example.com"}]},{"type":"text","value":", they're just "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"example.com"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This "},{"type":"element","tag":"a","props":{"href":"https://github.com/docker-mailserver/docker-mailserver/issues/1607","rel":["nofollow"]},"children":[{"type":"text","value":"ticket"}]},{"type":"text","value":" describes it well."}]},{"type":"element","tag":"h3","props":{"id":"12-docker-was-using-internal-hostname-of-docker-mailserver"},"children":[{"type":"text","value":"1.2. Docker was using internal hostname of docker-mailserver"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Internal hostname for "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"docker-mailserver"}]},{"type":"text","value":" was just "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mail"}]},{"type":"text","value":", and other container tried to send emails to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mail:25"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"SOLUTION:"}]},{"type":"text","value":" change internal hostname in your app settings to actual, specified in your certificates and MX record."}]},{"type":"element","tag":"h3","props":{"id":"2-docker-mailserver-not-listening-on-25-port-smtp"},"children":[{"type":"text","value":"2. docker-mailserver not listening on 25 port (SMTP)"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Solution was to add quotes in your docker compose, just like that:"}]},{"type":"element","tag":"code","props":{"code":" ports:\n - \"25:25\"\n","language":"yaml"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ac9f68"},"children":[{"type":"text","value":"ports"}]},{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":":"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":" - "}]},{"type":"element","tag":"span","props":{"class":"ct-08ab12"},"children":[{"type":"text","value":"\"25:25\""}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This "},{"type":"element","tag":"a","props":{"href":"https://github.com/docker-mailserver/docker-mailserver/issues/684#issuecomment-322029794","rel":["nofollow"]},"children":[{"type":"text","value":"ticket"}]},{"type":"text","value":" solved it"}]},{"type":"element","tag":"h3","props":{"id":"3-connect-to-docker-mailserver-from-other-docker-compose"},"children":[{"type":"text","value":"3. Connect to docker-mailserver from other docker-compose"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"I've had "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mailserver/compose.yaml"}]},{"type":"text","value":" and "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"application/compose.yaml"}]},{"type":"text","value":" and needed to connect "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"application"}]},{"type":"text","value":" to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mailserver"}]},{"type":"text","value":"."}]},{"type":"element","tag":"code","props":{"code":"// application/compose.yaml\napp:\n networks:\n - shared\nnetworks:\n shared:\n driver: bridge\n","language":"yaml"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-08ab12"},"children":[{"type":"text","value":"// application/compose.yaml"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-ac9f68"},"children":[{"type":"text","value":"app"}]},{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":":"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ac9f68"},"children":[{"type":"text","value":"networks"}]},{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":":"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":" - "}]},{"type":"element","tag":"span","props":{"class":"ct-08ab12"},"children":[{"type":"text","value":"shared"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-ac9f68"},"children":[{"type":"text","value":"networks"}]},{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":":"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ac9f68"},"children":[{"type":"text","value":"shared"}]},{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":":"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ac9f68"},"children":[{"type":"text","value":"driver"}]},{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-08ab12"},"children":[{"type":"text","value":"bridge"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"/// mailserver/compose.yaml\nmail:\n networks:\n - \"application_shared\"\nnetworks:\n application_shared:\n external: true\n","language":"yaml"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-08ab12"},"children":[{"type":"text","value":"/// mailserver/compose.yaml"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-ac9f68"},"children":[{"type":"text","value":"mail"}]},{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":":"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ac9f68"},"children":[{"type":"text","value":"networks"}]},{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":":"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":" - "}]},{"type":"element","tag":"span","props":{"class":"ct-08ab12"},"children":[{"type":"text","value":"\"application_shared\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-ac9f68"},"children":[{"type":"text","value":"networks"}]},{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":":"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ac9f68"},"children":[{"type":"text","value":"application_shared"}]},{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":":"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ac9f68"},"children":[{"type":"text","value":"external"}]},{"type":"element","tag":"span","props":{"class":"ct-beef23"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5a0b55"},"children":[{"type":"text","value":"true"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"4-how-to-convert-dkim-mailtxt-to-dns-record"},"children":[{"type":"text","value":"4. How to convert DKIM mail.txt to DNS record"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"My "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mail.txt"}]},{"type":"text","value":" was like:"}]},{"type":"element","tag":"code","props":{"code":"mail._domainkey IN TXT ( \"v=DKIM1; h=sha256; k=rsa; \"\n \"p=sOmEJuNkLiKeRaNdOmOrLikeThat\"\n \"eVeNmOrERANdOmStuFf\" ) ; ----- DKIM key mail for example.com\n"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"mail._domainkey IN TXT ( \"v=DKIM1; h=sha256; k=rsa; \"\n \"p=sOmEJuNkLiKeRaNdOmOrLikeThat\"\n \"eVeNmOrERANdOmStuFf\" ) ; ----- DKIM key mail for example.com"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"SOLUTION"}]},{"type":"text","value":": concatenate all strings inside round brackets:"}]},{"type":"element","tag":"code","props":{"code":"v=DKIM1; h=sha256; k=rsa; p=sOmEJuNkLiKeRaNdOmOrLikeThateVeNmOrERANdOmStuFf\n"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"v=DKIM1; h=sha256; k=rsa; p=sOmEJuNkLiKeRaNdOmOrLikeThateVeNmOrERANdOmStuFf"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"And add them as a "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"TXT"}]},{"type":"text","value":" record on my DNS provider control panel under "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mail._domainkey"}]},{"type":"text","value":" record."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Solution was right in "},{"type":"element","tag":"a","props":{"href":"https://docker-mailserver.github.io/docker-mailserver/edge/config/best-practices/dkim_dmarc_spf/#dkim-dns","rel":["nofollow"]},"children":[{"type":"text","value":"official documentation"}]},{"type":"text","value":", just hidden a little bit."}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-5a0b55{color:#79C0FF}.ct-08ab12{color:#A5D6FF}.ct-ac9f68{color:#7EE787}.ct-beef23{color:#C9D1D9}.light .ct-beef23{color:#657B83}.light .ct-ac9f68{color:#268BD2}.light .ct-08ab12{color:#2AA198}.light .ct-5a0b55{color:#B58900}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"1-docker-mailserver-ssl-alert-number-42","depth":2,"text":"1. docker-mailserver SSL alert number 42","children":[{"id":"11-letsencrypt-and-wildcard-domains","depth":3,"text":"1.1. Letsencrypt and wildcard domains"},{"id":"12-docker-was-using-internal-hostname-of-docker-mailserver","depth":3,"text":"1.2. Docker was using internal hostname of docker-mailserver"},{"id":"2-docker-mailserver-not-listening-on-25-port-smtp","depth":3,"text":"2. docker-mailserver not listening on 25 port (SMTP)"},{"id":"3-connect-to-docker-mailserver-from-other-docker-compose","depth":3,"text":"3. Connect to docker-mailserver from other docker-compose"},{"id":"4-how-to-convert-dkim-mailtxt-to-dns-record","depth":3,"text":"4. How to convert DKIM mail.txt to DNS record"}]}]}},"_type":"markdown","_id":"content:Docker:Common things with docker-mailserver.md","_source":"content","_file":"Docker/Common things with docker-mailserver.md","_extension":"md"}