私は、javamail APIを使用してSMTPサーバを使用して電子メールを送信しようとしています。私は次のエラーを取得する:smtp server-javamailを使用してメールを送信できない
javax.mail.MessagingException: Could not connect to SMTP host: smtp.host.com, port: 587;
nested exception is:java.net.SocketException: Permission denied: connect
は、ここで私はメールにProperties
とSession
オブジェクトを作成する方法は次のとおりです。
private Session getSession() {
Authenticator authenticator = new Authenticator();
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.submitter", authenticator.getPasswordAuthentication().getUserName());
properties.setProperty("mail.smtp.auth", "false");
properties.setProperty("mail.smtp.starttls.enable", "false");
properties.setProperty("mail.smtp.host", "smtp.hostname.com");
properties.setProperty("mail.smtp.port", "587");
properties.setProperty("mail.smtp.ssl.trust", "smtp.hostname.com");
properties.setProperty("java.net.preferIPv4Stack" , "true");
return Session.getInstance(properties, authenticator);
}
private class Authenticator extends javax.mail.Authenticator {
private PasswordAuthentication authentication;
public Authenticator() {
String username = "username";
String password = "password";
authentication = new PasswordAuthentication(username, password);
}
protected PasswordAuthentication getPasswordAuthentication() {
return authentication;
}
}
私はいくつかの記事で示唆したように、認証を無効にしようとしたとも用決議に入れていますこのポストによるIPv4の設定: JavaMail API to iMail -- java.net.SocketException: Permission denied: connect
しかし、私はまだ同じエラーが発生します。この問題が解決される可能性のある他の方法はありますか?
ありがとうございました。
Thunderbirdなどの通常のメールクライアントで同じ設定値を使用して、それらが有効であることを確認しましたか? – mjn
[JavaMail APIからiMailへの可能な複製 - java.net.SocketException:許可が拒否されました:connect](http://stackoverflow.com/questions/12901475/javamail-api-to-imail-java-net-socketexception-permission -denied-connect) – mjn