- PR -

SSL認証が必要なサーバへのアクセス方法

1
投稿者投稿内容
kセイバー
常連さん
会議室デビュー日: 2005/10/12
投稿数: 33
投稿日時: 2005-11-04 13:49
javaメールへ送るプログラムを作っているのですが。
SSL認証が必要なようでうまくいきません。
sslをtrueにするようなクラスをしっている方がいれば教えていただけないでしょうか?
下記にコードやエラーメッセージを記述します。

javaメール送信プログラム

import java.io.UnsupportedEncodingException;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.AddressException;
import javax.mail.internet.MimeMessage;
import javax.activation.FileDataSource;
//添付用API
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMultipart;
import javax.activation.DataHandler;
//特別サーバー用
import java.io.*;
import javax.mail.*;
import javax.mail.PasswordAuthentication;
public class mailtest
{
public static void main(String[]args)
throws Exception
 {
  String res_address="*";
  String[] cc_address;
  String[] bcc_address;
  String tempfile="d:SendMail/a.txt";
  String fromad="*";
  String subject="題名";
  String source="本文";
  String smtpserver="*.*.*.*";

  Properties prp=new Properties();
  prp.put("mail.smtp.auth", "true");
  //smtpサーバーを指定
  prp.setProperty("mail.smtp.host",smtpserver);
  Authenticator auth = new InputPass(); 
  Session session=Session.getDefaultInstance(prp,auth);
  session.setDebug(true);
  MimeMessage mimemes=new MimeMessage(session);
  MimeMultipart content=new MimeMultipart();

  MimeBodyPart filePart = new MimeBodyPart();
  filePart.setDataHandler(new DataHandler(new FileDataSource(tempfile)));
  filePart.setFileName(tempfile);
  content.addBodyPart(filePart);
  try
  {
   InternetAddress intead=null;
   //fromをinteadにセット
   intead =new InternetAddress(fromad);
   //fromのセット
   mimemes.setFrom(intead);
   //TOのセット
   mimemes.setRecipients(Message.RecipientType.TO,res_address);
   //題名
   mimemes.setSubject(subject,"ISO-2022-jp");
   MimeBodyPart textPart = new MimeBodyPart();
   textPart.setText(source, "ISO-2022-JP");
   content.addBodyPart(textPart);
   //生成したmimemesを元にメールを送信
   mimemes.setContent(content);
   Transport.send(mimemes);
  }
  catch (MessagingException e)
   e.printStackTrace();
  }
 }
}
class InputPass extends Authenticator {
 protected PasswordAuthentication getPasswordAuthentication() {
  String user = "*" , pass = "*";
  return new PasswordAuthentication(user , pass);
 }
}

エラーメッセージ

DEBUG: setDebug: JavaMail version 1.3.3
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "*.*.*.*", port 25, isSSL false
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:1227)
  at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:322)
  at javax.mail.Service.connect(Service.java:258)
  at javax.mail.Service.connect(Service.java:137)
  at javax.mail.Service.connect(Service.java:86)
  at javax.mail.Transport.send0(Transport.java:150)
  at javax.mail.Transport.send(Transport.java:80)
  at mailtest.main(mailtest.java:67)

[ メッセージ編集済み 編集者: kセイバー 編集日時 2005-11-04 13:56 ]
1

スキルアップ/キャリアアップ(JOB@IT)