別のサーバー (マシン B) にメールを送信する Perl スクリプト (マシン A 上) を作成し、別のサーバー (マシン B) はそれを返送します (マシン B に応じて procmail またはその他の転送メカニズムを使用)。往復時間。
これは長い間正常に機能していましたが、マシン B が GMAIL の場合、何らかの理由で機能しなくなりました。
デバッグ方法は次のとおりです。
コマンドラインから「mail -s」を使用して同様のメッセージを送信しようとしましたが、そのメールは問題なく配信されたので、メールリレーは問題ではありません。
mailbounce@machineA.com:~$mail -s 'Round Trip Test 1366102726' mailbouncexxxxx@gmail.com A simple test message From The Mail Round Trip Monitor... . cc: mailbounce@machineA.com:~$
次に、'to:' アドレスを私が所有する別のマシンに変更し、スクリプトが機能するかどうかを確認しました。別のサーバー(gmailではない)に問題なく動作しました
次に、スクリプトを元のパラメーターに戻しました。ポート 25 で tcpdump を開始してスクリプトを実行した後、コマンド ラインからもメールを送信しました。Wireshark でパケット キャプチャを分析し、「Follow TCP Stream」を実行すると、出力は次のようになります。
スクリプトの使用 (配信されませんでした):
220 mail.out.com ESMTP Exim 4.74 Tue, 16 Apr 2013 10:58:36 +0200
EHLO machineA.domain.com
250-mail.out.com Hello machineA.domain.com [10.184.55.248]
250-SIZE 13631488
250-PIPELINING
250 HELP
MAIL FROM:<mailbounce@ machineA.domain.com>
250 OK
RCPT TO:<mailbouncexxxxx@gmail.com>
250 Accepted
DATA
354 Enter message, ending with "." on a line by itself
To: mailbouncexxxxx@gmail.com
Subject: Round Trip Test 1366102726
A simple test message From The Mail Round Trip Monitor...
.
250 OK id=1US1im-000Lr0-Qd
QUIT
221 mail.out.com closing connection
コマンドラインを使用する(正常に配信されました):
220 mail.out.com ESMTP Exim 4.74 Tue, 16 Apr 2013 10:59:02 +0200
EHLO machineA.domain.com
250-mail.out.com Hello machineA.domain.com [10.184.55.248]
250-SIZE 13631488
250-PIPELINING
250 HELP
MAIL From:<mailbounce@machineA.domain.com> SIZE=635
250 OK
RCPT To:<mailbouncexxxxx@gmail.com>
DATA
250 Accepted
354 Enter message, ending with "." on a line by itself
Received: from machineA.domain.com (localhost.localdomain [127.0.0.1])
.by machineA.domain.com (8.13.8/8.13.8) with ESMTP id r3G8x0jq015631
.for <mailbouncexxxxx@gmail.com>; Tue, 16 Apr 2013 10:59:00 +0200
Received: (from mailbounce@localhost)
.by machineA.domain.com (8.13.8/8.13.8/Submit) id r3G8wxGJ015622
.for mailbouncexxxxx@gmail.com; Tue, 16 Apr 2013 10:58:59 +0200
Date: Tue, 16 Apr 2013 10:58:59 +0200
From: mailbounce User <mailbounce@machineA.domain.com>
Message-Id: <201304160858.r3G8wxGJ015622@machineA.domain.com>
To: mailbouncexxxxx@gmail.com
Subject: test2
test
.
250 OK id=1US1jC-000LvF-OQ
QUIT
221 mail.out.com closing connection
上記の内容によると、これは問題なく機能するはずですか? Gmailアカウントの「SPAM」フォルダも確認しましたが、うまくいきません
コマンドラインを使用するのではなく、Net::SMTP を使用するとメールが配信されないのはなぜですか? 同じ SMTP リレー経由で... 見る場所がなくなってきました。
ノート:
この質問を作成する前に、Net::SMTP Perl プログラムをデバッグするにはどうすればよいですか?を見ました。. インターネット上で他に関連する情報は見つかりませんでした。
上記のホスト名、電子メール アカウント、および IP アドレスは架空のものです。入力/出力から変更されたものはこれだけです。