私はJavaを使用して独自のSMTPサーバーを使用して電子メールを送信するシナリオを持っています。私はTomcat 6にデプロイされたアプリケーションを持っています。メールはPerlから送信されますが、Javaでは送信されません。
- Gmailを使用すると、電子メールを送信する機能が動作します。
- 独自のサーバーを使用しようとすると機能しません。
私はこの問題は、すべてがPerlのスクリプトから同じ資格情報と設定パラメータを使用して正常に動作していることである
MailException occured while sending emailMail server connection failed; nested exception is javax.mail.MessagingException: Could not connect to SMTP host: 172.16.16.1, port: 25;
nested exception is:
java.net.ConnectException: Connection timed out. Failed messages: javax.mail.MessagingException: Could not connect to SMTP host: 172.16.16.1, port: 25;
nested exception is:
java.net.ConnectException: Connection timed out
次のエラーを取得します。
私はDebainシステムを利用しています。
私には何らかの種類のアクセス権の問題が疑わしいです。私はLinuxには新しく、知識は限られています。
誰でもお手伝いできますか?参照
#!/usr/bin/env perl
# System Modules
use strict;
use warnings;
use Mail::Sender;
my $subject = q/Testing Mail Server./;
my $smtp = q/localhost/;
my $from = 'Test <[email protected]>';
my $to = '[email protected]';
my $msg = q/Hi Testing.../;
my $auth = q{};
my $authid = q{};
my $authpwd = q{};
eval {
sendmail($smtp, $from, $to, q{}, $subject, $msg, $auth, $authid, $authpwd);
};
if ([email protected]) {
print STDERR "Confirmation Mail Sending to $to Failed.\n";
print STDERR 'ERROR: ' . [email protected];
}
sub sendmail {
my ($smtp, $from, $to, $bcc, $subject, $msg, $auth, $authid, $authpwd) = @_;
my $sender = new Mail::Sender { smtp => $smtp, from => $from };
$sender->Body(0, 0, 'text/html');
my $result = $sender->MailMsg(
{
replyto => '[email protected]',
to => $to,
bcc => $bcc,
subject => $subject,
msg => $msg,
auth => $auth,
authid => $from,
authpwd => $authpwd,
}
);
if ($result < 0) {
die "$Mail::Sender::Error\n";
}
}
PerlスクリプトはTomcatと同じマシンにあります。実際、Tomcatと同じディレクトリにあります。 –
Perlスクリプトは実際にはとてもシンプルですが、参考のために質問に追加しました。 –
@SB。 - 私が示唆したように、このスクリプトはあなたが思っていることをしていません。 –