プロが教えるわが家の防犯対策術!

JavaMail でメールを送信しようとしていますが、うまく送信できません。
SMTPサーバはユーザ認証とPOP before SMTP です。

コードの一部を抜粋しますと

Session session = Session.getDefaultInstance(props, null);

Store store = session.getStore("pop3");
store.connect(host, user, pass);

MimeMessage message = new MimeMessage(session);
--途中省略--
Transport transport = session.getTransport("smtp");
transport.connect(null, user, pass);
transport.sendMessage(message, message.getAllRecipients());

となっています。一番下の行で以下のエラーが出ます。
javax.mail.MessagingException: Could not connect to SMTP host: ***.***.***.***, port: 25;
nested exception is:
java.net.SocketException: Software caused connection abort: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1213)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:311)
at javax.mail.Service.connect(Service.java:233)
at javax.mail.Service.connect(Service.java:134)
at SendMail.sendMessage(SendMail.java:346)
at SendMail.main(SendMail.java:162)

Java初心者ですが、どうかよろしくお願いいたします。

A 回答 (2件)

pingは通りますでしょうか?


コマンドプロンプトで
C:>ping [指定したホスト名]
とやってみてはどうでしょうか?

この回答への補足

ping 通ります。また、telnet で port 25 接続できます。 どうやら、アンチウイルスソフトが原因でした。どうもありがとうございました。

補足日時:2005/10/25 13:40
    • good
    • 0

--途中省略--


Transport transport = session.getTransport("smtp");
transport.connect(null, user, pass);
transport.sendMessage(message, message.getAllRecipients());

の3行目。
ホスト名を指定する部分が null になっているのが問題では???

transport.connect(null, user, pass);
↓↓↓
transport.connect(host, user, pass);

この回答への補足

ご回答ありがとうございます。
ホスト名を入れてやってみました。
すると
transport.connect(host, user, pass);
の行で以前と同じエラーが出ました。

補足日時:2005/10/25 13:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!