diff options
| author | yyamashita <yyamashita@hetzner.yyamashita.com> | 2026-06-01 21:14:58 +0900 |
|---|---|---|
| committer | yyamashita <yyamashita@hetzner.yyamashita.com> | 2026-06-01 21:14:58 +0900 |
| commit | c55ae2d5daf229b12556d6283ba4e5e8161a5eb5 (patch) | |
| tree | adb08f555e56ece4792421dfdb40b457c8f75140 /mail/postfix | |
| parent | 5bf46bbac5feda06ec10575c6293974d80b2e3df (diff) | |
Add Postfix+OpenDKIM MTA with txt-based domain management
- mail/ ディレクトリ追加: Postfix + OpenDKIM の Docker コンテナ
- mail/domains.txt で送信ドメインを管理(現在: golive.yyamashita.com)
- install.sh が domains.txt から KeyTable/SigningTable を動的生成
- setup-route53.py で SPF/DKIM/DMARC を Route 53 に一括設定
- post-receive フックに mail/deploy.sh を追加
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'mail/postfix')
| -rw-r--r-- | mail/postfix/main.cf | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/mail/postfix/main.cf b/mail/postfix/main.cf new file mode 100644 index 0000000..4098668 --- /dev/null +++ b/mail/postfix/main.cf @@ -0,0 +1,34 @@ +# Identity +myhostname = hetzner.yyamashita.com +mydomain = yyamashita.com +myorigin = $myhostname +append_dot_mydomain = no +compatibility_level = 3.6 + +# Accept connections from Docker internal networks only +inet_interfaces = all +inet_protocols = ipv4 +mynetworks = 127.0.0.0/8, 172.16.0.0/12, 10.0.0.0/8 + +# No local delivery — relay only +mydestination = +local_recipient_maps = +local_transport = error:local delivery disabled + +# Relay restrictions: only forward mail from internal networks +smtpd_relay_restrictions = permit_mynetworks, reject +smtpd_recipient_restrictions = permit_mynetworks, reject + +# Opportunistic TLS on outbound SMTP +smtp_tls_security_level = may +smtp_tls_loglevel = 1 + +# DKIM signing via OpenDKIM milter on localhost:8891 +milter_default_action = accept +milter_protocol = 6 +smtpd_milters = inet:localhost:8891 +non_smtpd_milters = inet:localhost:8891 + +# Queue timeouts +maximal_queue_lifetime = 1d +bounce_queue_lifetime = 1d |
