本日の予定はSMTP(Postfix)の設定を終わらせWikiやJenkinsのセットアップを行う予定だったが、postfixのdkimの挙動がわからず、メール送信・設定調整のふりまわされた。
作業日報
- Postfix デプロイ
- 1.ドメインMXレコード登録(お名前)
- 2.SPF(Sender Policy Framework)レコードの登録 v=spf1 ip4:133.18.109.183 -all
- 3.DKIM(DomainKeys Identified Mail)公開鍵を mail._domainkey.lin.jp に v=DKIM1; h=sha256; k=rsa;p=… として登録する方法。サーバー側(postfix側に opendkim サーバーとの連動()
- 4.DMARC(Domain-based Message Authentication, Reporting, and Conformance)レコードの登録、SPFやDKIMのチェックを通過しなかったメールの扱いを受信側に指示、_dmarc.lin.jp に v=DMARC1; p=quarantine; rua=mailto:postmaster@lin.jp を登録
- 5.MTAホストの逆引き名を HELO時のホスト名に合わせる
- Zabbixからの送信テスト … OK
とりあえずはGmail側が受け取り要件とするサービスはクリア。(ただしなぜか迷惑メールになる、GPTによると、技術的にクリアできていたとしても、①新規SMTPサーバー ②新規IP ③送信履歴なし ④メール内容がスパムっぽい ⑤送信元アドレスで「スパム送信元の可能性あり」と認定することもあるとのこと。
総括としては、postfix 単体ではだめ、+openDKM(&鍵の作成用のツール)+certbot (証明書) + 3つのTXTレコード追加、逆引き設定が必要。
postfix が実は chroot化されて動いているので実際のマウントポイントは /var/spool/postfix 配下が / とななっている前提があるので、socketファイルを使う場合は注意(自分はソケットファイルはどうしてもpostfix側から権限が取得できず opendkmiとは 8891ポートで通信することに変更)
podman用に サービス登録(すっかり失念してた、これもまとめとかないと) ユーザサービス ~/.config/systemd/user/mypostfix.service を作成して systemctl –user daemon-reload , systemctl –user enable –now mypostfix , systemctl –user start mypostfix.servce で起動。自動登録は systemctl –user enable –now container-autostart.service すると ~/.config/systemd/user/start-podman-containers.service できる ExecStart=/usr/bin/systemctl –user start mypostfix.service の行を追加
今回は rootless でpostfix を動作させているので、 25 –iptables redirect–> 1025 –> container(root less) –nat –> postfix:25 としている。なのでpostfix 側のアクセス元は 10.0.100.x のアドレスとなり mynetworks にこのアドレスを登録するのだが、これでは smtpd_relay_restrictions =permit_mynetworks ですべてのホストが許可されるので open relayになってしまう。

TIPs
・Podmanの文字リテラルシングルクォートはだめ、VOLUME[’/hoge’]🚫 ✅VOLUME[“/hoge”}
・ps ➡ procps ss ➡ iproute2
・(ChatGPT)WPでリスト中にブロック要素追加は<span=”[class]”>で追加、<br>も使えるので下行に追加できる。classはnote,block,title,descを教えてくれたが効かなかった。自分でCSSを定義する必要あり?