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. 実践とトラブルシューティング: 実際の環境での使用方法と問題解決策について説明します

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ