2012-03-31 6 views
0

なぜこの例外が発生するのですか?solutions.iがmail.jarとactivation.jarをクラスパスに正しくコピーしたことをお勧めします。javax.mail.messagingexception

javax.mail.MessagingException: Could not connect to SMTP host: your.smtp.host, port: 25; 
    nested exception is: 
    java.net.SocketException: Software caused connection abort: connect 
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1545) 
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:453) 
    at javax.mail.Service.connect(Service.java:291) 
    at javax.mail.Service.connect(Service.java:172) 
    at javax.mail.Service.connect(Service.java:121) 
    at javax.mail.Transport.send0(Transport.java:190) 
    at javax.mail.Transport.send(Transport.java:120) 
     ... 

Caused by: java.net.SocketException: Software caused connection abort: connect 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) 
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) 
    at java.net.Socket.connect(Socket.java:519) 
    at java.net.Socket.connect(Socket.java:469) 
    at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:267) 
    at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:227) 
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1511) 
    ... 40 more 

答えて

1

あなたのSMTP接続が正しいとは限りません。 認証でsmtpの設定を確認してください.. !!

最初の行はすべてそれを言う:

javax.mail.MessagingException: Could not connect to SMTP host: your.smtp.host, port: 25; 
    nested exception is: 

代わりのyour.smtp.hostがあなたがsmtp.gmail.comなど

ようeusing AR SMTPのURLがなければなりませんEDIT:サンプルGmail接続コード

Session session = Session.getDefaultInstance(mailProperties, new javax.mail.Authenticator() { 
      @Override 
      protected PasswordAuthentication getPasswordAuthentication() { 
       return new PasswordAuthentication(mailProperties.getProperty("mail.smtp.from"), "mail.smtp.password"); 
      } 
     }); 
     try { 

      Message message = new MimeMessage(session); 
      message.setFrom(new InternetAddress("[email protected]")); 
      InternetAddress address[] = new InternetAddress[4]; 
      address = InternetAddress.parse(toMail, false); 
      message.setRecipients(Message.RecipientType.TO, address); 
      address = InternetAddress.parse("[email protected]", false); 
      message.addRecipients(Message.RecipientType.CC, address); 
      message.setSubject(subject); 

      BodyPart messageBodyPart = new MimeBodyPart(); 
      messageBodyPart.setText(body); 
      Multipart multipart = new MimeMultipart(); 
      multipart.addBodyPart(messageBodyPart); 
      Transport transport = session.getTransport("smtps"); 
      transport.connect("smtp.gmail.com", 465, "[email protected]", "pasword here"); 
      transport.sendMessage(message, message.getAllRecipients()); 
      transport.close(); 
     } catch (MessagingException e) { 
      e.printStackTrace(); 
     } 
+0

あなたのためのThanx私はこの例外を取得するjavax.mail.MessagingException:SMTPホストに接続できませんでした:smtp.yahoo.com、ポート:25;ネストされた例外は次のとおりです。java.net.ConnectException:接続タイムアウト:com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1972)でcom.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java :642)、javax.mail.Service.connect(Service.java:295)、javax.mail.Service.connect(Service.java:176)、javax.mail.Service.connect(Service.java:125).. ..... – user1305398

+1

あなたの接続タイムアウトを説明するように! 私の推測はyahooが無料アカウントでsmtp/popアクセスをサポートしていません.. !! gmailで試してみてください。 私の回答にサンプルコードを貼り付けています。さらに、stacoverflowのたくさんの情報でjavamail + gmailを検索することができます。 –

関連する問題