私はperlモジュールNet::Smtp_authを使用して、ポート25(暗号化なし)でweb.deSMTPサーバーを使用して自分自身にメールを送信しています。それは私のコンピュータでうまく機能します。ただし、同じスクリプトを使用して、root権限を持たない別のマシンで終了したジョブに関する通知メッセージを送信したいと思います。このマシンでは、接続のタイムアウトが発生します。接続がどのようにブロックされるのか、それをブロックする理由は何でしょうか(スパマーを防ぐのですか?)、問題を回避する方法があるのではないかと思います。いくつかのLinuxツールを利用できますが、nmapはありません。接続はプロキシ設定の影響を受ける可能性があります。影響を受ける場合は、SMTP_authにどのように通知しますか?
perlスクリプトは、基本的にcpanのSMTP_authの例です。しかし、私はそれがここで関連しているとは思っていません:
#!/usr/bin/perl -w
use Net::SMTP_auth;
$message=$ARGV[0];
$smtp = Net::SMTP_auth->new('smtp.web.de') or die "Failed to open SMTP connection: $!";
$smtp->auth('CRAM-MD5', 'adress', 'password');
$smtp->mail('adress@web.de');
$smtp->to('adress@web.de');
$smtp->data();
$smtp->datasend("To: adress\@web.de\n");
$smtp->datasend("From: adress\@web.de\n");
$smtp->datasend("\n");
$smtp->datasend("$message\n");
$smtp->dataend();
$smtp->quit;