Skip to content

Commit 8d884f0

Browse files
committed
fix(mta): add MYSQL_TLS_VERIFY_CERT environment variable for MySQL configuration
1 parent 9c1cee3 commit 8d884f0

8 files changed

Lines changed: 15 additions & 7 deletions

docs/configuration/environment-variables.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@ These are the core environment variables that need to be configured in your `.en
1111
When you use the MySQL service provided by docker-mailserver compose, you don't need to configure this.
1212
It is required to **always set** `MYSQL_PASSWORD`.
1313

14-
| Variable | Default | Description |
15-
| ---------------- | ------------------------------------ | ----------------------- |
16-
| `MYSQL_HOST` | `db` | MySQL database hostname |
17-
| `MYSQL_PORT` | `3306` | MySQL database port |
18-
| `MYSQL_DATABASE` | `mailserver` | MySQL database name |
19-
| `MYSQL_USER` | `root` (MTA/MDA), `mailserver` (Web) | MySQL database username |
20-
| `MYSQL_PASSWORD` | _(empty)_ | MySQL database password |
14+
| Variable | Default | Description |
15+
| ----------------------- | ------------------------------------ | ---------------------------------- |
16+
| `MYSQL_HOST` | `db` | MySQL database hostname |
17+
| `MYSQL_PORT` | `3306` | MySQL database port |
18+
| `MYSQL_DATABASE` | `mailserver` | MySQL database name |
19+
| `MYSQL_USER` | `root` (MTA/MDA), `mailserver` (Web) | MySQL database username |
20+
| `MYSQL_PASSWORD` | _(empty)_ | MySQL database password |
21+
| `MYSQL_TLS_VERIFY_CERT` | `no` | MySQL TLS certificate verification |
2122

2223
### Mail Server Identity
2324

target/mta/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ ENV MAILNAME=mail.example.com \
1111
MYSQL_PORT=3306 \
1212
MYSQL_USER=root \
1313
MYSQL_DATABASE=mailserver \
14+
MYSQL_TLS_VERIFY_CERT=no \
1415
MDA_LMTP_ADDRESS=mda:2003 \
1516
MDA_AUTH_ADDRESS=mda:2004 \
1617
FILTER_MILTER_ADDRESS=filter:11332 \

target/mta/rootfs/etc/postfix/mysql-email-submission.cf.templ

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ user = {{ .Env.MYSQL_USER }}
22
password = {{ .Env.MYSQL_PASSWORD }}
33
hosts = {{ .Env.MYSQL_HOST }}:{{ .Env.MYSQL_PORT }}
44
dbname = {{ .Env.MYSQL_DATABASE }}
5+
tls_verify_cert = {{ .Env.MYSQL_TLS_VERIFY_CERT }}
56
query = SELECT CONCAT(mail_users.name, '@', d1.name) AS email FROM mail_users JOIN mail_domains d1 ON mail_users.domain_id = d1.id HAVING email='%s' UNION SELECT destination AS email FROM mail_aliases JOIN mail_domains d2 ON mail_aliases.domain_id = d2.id WHERE CONCAT(mail_aliases.name, '@', d2.name)='%s'

target/mta/rootfs/etc/postfix/mysql-email2email.cf.templ

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ user = {{ .Env.MYSQL_USER }}
22
password = {{ .Env.MYSQL_PASSWORD }}
33
hosts = {{ .Env.MYSQL_HOST }}:{{ .Env.MYSQL_PORT }}
44
dbname = {{ .Env.MYSQL_DATABASE }}
5+
tls_verify_cert = {{ .Env.MYSQL_TLS_VERIFY_CERT }}
56
query = SELECT CONCAT(mail_users.name, '@', mail_domains.name) AS email FROM mail_users JOIN mail_domains ON mail_users.domain_id = mail_domains.id HAVING email='%s'

target/mta/rootfs/etc/postfix/mysql-recipient-access.cf.templ

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ user = {{ .Env.MYSQL_USER }}
22
password = {{ .Env.MYSQL_PASSWORD }}
33
hosts = {{ .Env.MYSQL_HOST }}:{{ .Env.MYSQL_PORT }}
44
dbname = {{ .Env.MYSQL_DATABASE }}
5+
tls_verify_cert = {{ .Env.MYSQL_TLS_VERIFY_CERT }}
56
query = SELECT IF(send_only = true, 'REJECT', 'OK') AS access FROM mail_users JOIN mail_domains ON mail_users.domain_id = mail_domains.id WHERE mail_users.name = '%u' AND mail_domains.name = '%d'

target/mta/rootfs/etc/postfix/mysql-virtual-alias-maps.cf.templ

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ user = {{ .Env.MYSQL_USER }}
22
password = {{ .Env.MYSQL_PASSWORD }}
33
hosts = {{ .Env.MYSQL_HOST }}:{{ .Env.MYSQL_PORT }}
44
dbname = {{ .Env.MYSQL_DATABASE }}
5+
tls_verify_cert = {{ .Env.MYSQL_TLS_VERIFY_CERT }}
56
query = SELECT destination FROM mail_aliases JOIN mail_domains ON mail_aliases.domain_id = mail_domains.id WHERE CONCAT(mail_aliases.name, '@', mail_domains.name) = '%s'

target/mta/rootfs/etc/postfix/mysql-virtual-mailbox-domains.cf.templ

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ user = {{ .Env.MYSQL_USER }}
22
password = {{ .Env.MYSQL_PASSWORD }}
33
hosts = {{ .Env.MYSQL_HOST }}:{{ .Env.MYSQL_PORT }}
44
dbname = {{ .Env.MYSQL_DATABASE }}
5+
tls_verify_cert = {{ .Env.MYSQL_TLS_VERIFY_CERT }}
56
query = SELECT 1 FROM mail_domains WHERE name='%s'

target/mta/rootfs/etc/postfix/mysql-virtual-mailbox-maps.cf.templ

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ user = {{ .Env.MYSQL_USER }}
22
password = {{ .Env.MYSQL_PASSWORD }}
33
hosts = {{ .Env.MYSQL_HOST }}:{{ .Env.MYSQL_PORT }}
44
dbname = {{ .Env.MYSQL_DATABASE }}
5+
tls_verify_cert = {{ .Env.MYSQL_TLS_VERIFY_CERT }}
56
query = SELECT 1 FROM mail_users JOIN mail_domains ON mail_users.domain_id = mail_domains.id WHERE mail_users.name = '%u' AND mail_domains.name = '%d' AND enabled = 1

0 commit comments

Comments
 (0)