## はじめに
Linuxサーバ上で自動的な通知やログのメール送信を実行するためには、`sendmail` や `mail` コマンドが有用です。これらのツールはシステム管理者にとって不可欠で、監視とトラブルシューティングに活用できます。
## 症状・背景
– メールサーバがダウンした場合の通知
– システムログからの警告メール送信
– 自動化されたジョブ実行後の報告
## 手順・設定方法
### ステップ1: sendmail コマンドを使用した基本的なメール送信
“`bash
# メールを送信する
echo “このメッセージはテストメールです” | /usr/sbin/sendmail -t -oi test@example.com
# メールヘッダを指定して送信
echo “To: test@example.com” > /tmp/msg.txt
echo “From: user@localhost” >> /tmp/msg.txt
echo “” >> /tmp/msg.txt
echo “このメッセージはテストメールです” >> /tmp/msg.txt
/usr/sbin/sendmail -t < /tmp/msg.txt
```
### ステップ2: mail コマンドを使用した基本的なメール送信
```bash
# メールを直接入力して送信します
echo "このメッセージはテストメールです" | mail -s "件名: テストメール" test@example.com
```
### ステップ3: 関連設定の確認と変更
```bash
# sendmail.cf ファイルを再生成します
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
# sendmail サービスをリロードします
systemctl reload sendmail || systemctl restart sendmail
“`
### ステップ4: 実践/トラブルシュート/監視
“`bash
# メール送信のログを確認する
tail -f /var/log/maillog
# エラーログの確認
cat /var/log/mail.err
“`
## 注意事項
– sendmailコマンドとmailコマンドは異なる実装であり、互換性がありません。
– SMTPサーバーに認証が必要な場合があります。
– sendmailサービスの停止や再起動は慎重に行いましょう。
## まとめ
1. **sendmailコマンド**: Linuxシステムで直接メールを送信するための強力なツールです。
2. **mailコマンド**: シンプルなメール送信用コマンドであり、基本的なメール送信には便利です。
3. **メールサーバーの設定**: sendmail.mcファイルの設定が必要となります。
4. **実践とトラブルシューティング**: ログファイルを確認しながら問題があれば迅速に対応します。



