summaryrefslogtreecommitdiff
path: root/mail/postfix
diff options
context:
space:
mode:
authoryyamashita <yyamashita@hetzner.yyamashita.com>2026-06-01 21:14:58 +0900
committeryyamashita <yyamashita@hetzner.yyamashita.com>2026-06-01 21:14:58 +0900
commitc55ae2d5daf229b12556d6283ba4e5e8161a5eb5 (patch)
treeadb08f555e56ece4792421dfdb40b457c8f75140 /mail/postfix
parent5bf46bbac5feda06ec10575c6293974d80b2e3df (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.cf34
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