2026年5月21日

2026年5月21日

メール送信テストを行う方法(telnet/curl/swaks)

はじめに

この記事では、Linuxサーバー上でメール送信テストを行う方法について解説します。telnet、cURL、Swaksという3つのツールを使用して、メール送信用の設定や問題診断を行います。これらのツールは無料で利用でき、システム管理者にとって非常に有用です。

症状・背景

メール送信機能が正常に動作していない場合や新しいメールサーバーを設定した際など、メール送信テストが必要になります。具体的には以下の場面で使用します:

  • メール送信用の設定を確認する
  • メールサーバーの接続性を診断する
  • カスタムメールヘッダーの設定を検証する

手順・設定方法

ステップ1: Telnetを使用した基本的なメール送信用テスト

# telnetを使ってsmtpサーバーに接続します
telnet smtp.example.com 25

# 接続が成功すると以下のように表示されます
Trying 93.184.216.34...
Connected to smtp.example.com.
Escape character is '^]'.

# 次にHELOコマンドを送信します
HELO example.com

# サーバーからの応答が返ってくることを確認します
250-example.com

ステップ2: cURLを使用したSMTPメール送信用テスト

# 以下はcURLを使ってメッセージを送る例です
echo -e "From:test@example.com\nTo:test@example.org\nSubject:test\n\ntest body" | nc -q0 smtp.example.com 25

# サーバーからの応答が返ってくることを確認します
250 2.6.0 <test@example.org>... Accepted for delivery

ステップ3: Swaksを使用した詳細なメール送信用テスト

# Swaksを使ってより高度なメール送信テストを行います。以下は基本的な使用例です
swaks --to test@example.org --server smtp.example.com --body "test body"

# サーバーからの応答を確認します
250 2.6.0 <test@example.org>... Accepted for delivery

ステップ4: 実践/トラブルシュート/監視

# メールサーバーのログファイルを監視して問題の原因を特定します
tail -f /var/log/mail.log

注意事項

  • TelnetやcURLは非セキュアな通信を行うため、生のパスワードを使用するのは危険です。可能であればSSL/TLS接続を使用することをお勧めします。
  • Swaksは高度なメール送信テストに最適ですが、不要なパケットがネットワークに流れる可能性があるため注意が必要です。
  • メールヘッダーの設定や認証情報は慎重に管理し、不正なアクセスを防ぐために適切なセキュリティ対策を行いましょう。

まとめ

1. Telnet: 基本的なメール送信用テストツール。接続性とサーバー応答を確認します。

2. cURL: シンプルなSMTPメール送信テストを行うためのツール。より簡単な構文を使用できます。

3. Swaks: 高度なメール送信テストツール。カスタムヘッダーと認証の設定を検証します。

4. 注意点: 安全性とセキュリティに注意し、必要であればSSL/TLS接続を使用することを推奨します。

関連記事:

お気軽にご相談ください

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