- - PR -
SSL認証が必要なサーバへのアクセス方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 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