JavaMail: как решить SocketException? - PullRequest
       6

JavaMail: как решить SocketException?

0 голосов
/ 29 декабря 2011

Я использую следующий код для отправки электронных писем из приложения Java.На моем компьютере это работает нормально, на втором компьютере тоже, но на другом компьютере (в той же сети) это не так, хотя мы используем те же параметры подключения.

public void connect() throws MessagingException
{
    Authenticator auth = new Authenticator(){ 
        @Override
        protected PasswordAuthentication getPasswordAuthentication()
        {
            return new PasswordAuthentication(smtpUser, smtpPassword);
        }
    };
    Properties props = new Properties();
    props.put("mail.smtp.host", this.smtpServer);
    props.put("mail.smtp.auth", true); 

    session = Session.getDefaultInstance(props, auth);

    store = session.getStore(this.protocol);
    store.connect(this.mailboxServer, this.user, this.password);  //<-- exception is thrown here

}

Это исключениеЯ получаю:

javax.mail.MessagingException: connect failed; 
nested exception is: 
    java.net.SocketException: Permission denied: connect
    at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:161)
    at javax.mail.Service.connect(Service.java:288)
    at javax.mail.Service.connect(Service.java:169)
    at com.myapp.MailboxConnection.connect(MailboxConnection.java:66)
caused by: java.net.SocketException: Permission denied: connect

В чем может быть причина того, что он не работает на одном компьютере?

Ответы [ 4 ]

0 голосов
/ 06 мая 2013

проблема решена удалением Norton AntiVirus

0 голосов
/ 29 декабря 2011

Я думаю, что это может быть проблема с сетью или проблема с правами доступа (измените вашу привилегию пользователя как администратора)

проверьте, сможет ли ваша система подключиться к почтовому серверу

ping mailservername / mailserverip, например: ping www.gmail.com/192.168.1.98

0 голосов
/ 29 декабря 2011

Работает ли ваш код на сервере приложений с включенным менеджером безопасности?Возможно, ваше приложение не получило разрешения от среды выполнения Java для подключения к этому хосту.

0 голосов
/ 29 декабря 2011

Вы должны проверить, какой порт используется, возможно, это разрешенный порт на вашем компьютере, но не на другом.

...