MTAは、メール転送エージェント(Mail Transfer Agent)、メール転送用のソフトウェアのこと
代表的なMTAはpostfix と sendmail。現在の主流は postfix で、sendmail は昔の主流。
postfixのインストール方法
利用しているメーラー(MTA)の確認
alternatives --display mta
postfix を利用している場合は下記の結果になる
リンクは現在 /usr/sbin/sendmail.postfix を指しています
sendmail を利用している場合は下記の結果になる
リンクは現在 /usr/sbin/sendmail.sendmai を指しています
postfix がインストールされているか
rpm -qa | grep postfix
sendmail
がインストールされているか
rpm -qa | grep sendmail
postfix がインストール可能か
sudo dnf list available postfix
インストール
sudo dnf install postfix
起動ができない
postfixのインストールを終えて軌道を試みるができない
エラーが出る
sudo systemctl start postfix
Job for postfix.service failed because the control process exited with error code.
エラーの詳細と、関連部分を抜粋
$ sudo systemctl status postfix.service
postfix/sendmail[3255]: fatal: parameter inet_interfaces: no local interface found for ::1
このエラーメッセージは、Postfix
がIPv6のループバックアドレス(::1
)に対応するインターフェースを見つけられなかったことを示す
/etc/postfix/main.cf を以下のように修正
inet_protocols = all
↓↓↓↓↓
inet_protocols = ipv4
postfixの再起動と動作の確認
sudo systemctl restart postfix
sudo systemctl status postfix
送信履歴の見方
メールログの場所
/var/log/maillog
コマンドラインからメールを送るには
postfixだけではコマンドラインからメールを送れない
mailxかs-nailのようなツールをインストールする必要がある
almalinux9の場合は、s-nailを利用する
s-nailがインストール可能か
dnf list s-nail
s-nailのインストール
sudo dnf install s-nail
コマンドラインから送信テストの記述例
echo "これはテストメールです。" | s-nail -s "テストメールの件名" -r "from@example.com" to@example.com
自分はcrontabで利用している。また、送信先によっては、送信元がexample.comのようなドメインのメールアドレスではメールサーバーから受け取りを拒否されるので実際のメールアドレスを記入すること。
以下の設定もする