postfixを動かす
dockerで動かしていると、いまいちメール送信の感覚が掴みにくかったので素のpostfixを導入してメールのお勉強をしようと思いました。
linux完全ド素人なのでwslから始めます。以下のyoutubeは非常に親切です。
なお概要のwsl2インストール方法は更新されているので動画を違っているところがあります。
この始芽手ミルさんとサプーさんの動画は見やすいですね。
WSLの導入
以下のurlも参考にしました。windows terminalもインストールしておくとのちのち何かと便利です。
はまりどころ。そもそもpowershellでwslコマンドが起動しなかったです。
何度もlinux subsystemをチェックしたり外したり再起動を繰り返しても
認識しなかったです。
結局、powershellではなく、コマンドプロンプト(cmd.exe)からwsl --installをすることでubuntuまでインストールしたら、その後wslもpowershellで起動するようになりました。原因は不明です。
postfixのインストール
以下の記事を参考にしたけど、初手からgmailリレーをしているのでこれはあとから変更する
gmailリレーの設定
gmailリレーを使うのであれば、上記の記事に従います。
アプリパスワードの発行ページはgoogleアカウントからなぜか探せないので以下の記事に直リンクがあるので発行します。
gmailリレーを遣わない場合には、リレーを設定後に以下の設定をすればよいです。postfixのインストール時に、入力してしまったhost名を消しています。
sudo postconf -e 'relayhost ='
gmailリレーを最初から行わない場合だと、postfix起動してもいろいろとエラーが出るので修正していきます。メールサーバの設定確認はこれ
postfix check
メールサービスの起動はこれ
sudo systemctl restart postfix.service
ログの確認
cat /var/log/maillog
素の設定だとログにmydomainがおかしいとか、badparameterとかいろいろ出ているので、/etc/postfix/main.cfをviとかで編集していきます。
main.cfの再読み込みとかpostfixの起動、停止は以下を参考に。
ログでうまく起動していない場合にはポート25が動きっぱなしのときがあるのでkillして上げましょう
#使用ポート表示(sudo使用)
$ sudo lsof -i -P | grep "LISTEN"
#25番ポートのプロセス停止
$ kill プロセスid
メール送信は以下
echo 'メール本文' | mail -s "件名" 宛先メールアドレス