2026年5月31日
2026年5月31日
msmtpで外部SMTPサーバー経由でメールを送る方法
はじめに
この記事では、Linux サーバーから外部のSMTPサーバーを使用してメールを送信する方法について説明します。msmtpは一連のコマンドラインツールで、メール転送プロトコル(SMTP)を介してメールを送信します。特に、自サーバーやプライベートDNSから外部へメールを送信する必要がある場合や、セキュリティ上の理由で標準的なメール転送サービスを使用できない場合に便利です。
症状・背景
このテーマが必要になる主な場面:
- サーバーがDMARCポリシーに違反しないよう外部SMTPサーバーを経由してメールを送信する必要がある
- 内部ネットワークからのメール転送サービスを使用できない場合
- 送信先のドメイン所有者が独自のメール転送設定が必要な場合
手順・設定方法
ステップ1: msmtp のインストール
# パッケージ管理ツールを使用してmsmtpをインストールします
sudo apt-get install -y msmtp-mta
ステップ2: msmtp 設定ファイルの作成と編集
# /etc/msmtprc に設定ファイルを作成または編集します
cat <<EOF | sudo tee /etc/msmtprc
defaults
auth on
port 587
tls on
syslog info
account default
host smtp.example.com
user your-email@example.com
password your-password
from your-name@your-domain.com
EOF
ステップ3: msmtp メール送信のテスト
# msmtp でメールを送信します。-a オプションはアカウント名を指定します。
echo "This is a test email" | msmtp -t -a default --from=your-name@your-domain.com --to=test-receiver@example.com
ステップ4: 実践/トラブルシュート/監視
# 送信したメールの確認方法
sudo tail -f /var/log/mail.log
# msmtp の設定ファイルを確認する
cat /etc/msmtprc
注意事項
- 適切なSMTPサーバー情報を設定し、セキュリティ上の問題がないことを確認してください。
- パスワードは明示的に設定しないでください。環境変数やシークレット管理ツールを使用します。
- msmtp のログを定期的に監視し、メール送信の状況を確認しましょう。
まとめ
1. msmtp のインストール: 必要なパッケージをインストールします
2. 設定ファイルの作成: /etc/msmtprc ファイルを作成または編集します
3. メール送信のテスト: msmtp でメールを送信し、動作を確認します
4. 実践とトラブルシューティング: 実際の環境での使用方法と問題解決策について説明します
関連記事: