2015-05-15 2 views
0

Письмо исправно работает на сервере Windows 2008, но когда я перешел на сервер Windows 2012, это вызвало эту ошибку.Не удалось подключиться к SMTP-хосту. Разрешено: connect

SystemException: javax.mail.MessagingException: Could not connect to SMTP host: smtp.sendgrid.net, port: 25; nested exception is: java.net.SocketException: Permission denied: connect 

Я гугл об этом, и они сказали -Djava.net.preferIPv4Stack = верно, поместите эту запись в системе собственности и JVM также попросил инвалид антивируса. Оба не работали. Также я попытался связаться с интернет-провайдером, чтобы открыть порт 25, и теперь прослушивается 25-й порт. Это мой код.

Properties props = new Properties(); 
    props.put("mail.transport.protocol", "smtp"); 
    props.put("mail.smtp.host", SMTP_HOST_NAME); 
    props.put("mail.smtp.port", 25); 
    props.put("mail.smtp.auth", "true"); 
    SMTPAuthenticator auth = new SMTPAuthenticator(); 
    Session mailSession = Session.getDefaultInstance(props, auth); 
    mailSession.setDebug(true); 
    Transport transport = mailSession.getTransport(); 
    MimeMessage message = new MimeMessage(mailSession); 
    //read the Template and replace values using Velocity Engine 
    String text = messageContent; 
    message.setFrom(new InternetAddress(from)); 
    message.setSubject(subject); 
    transport.connect(); 
    transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO)); 
    transport.close(); 

Я использую sendgrid, java8, распорки 2 и Apache Tomcat 8.You моя последняя надежда, Пожалуйста, помогите мне с этим. Заранее спасибо.

+0

Уверены, что ваши полномочия верны? Можете ли вы их вывести, чтобы проверить? Можете ли вы попробовать порт 587? – eddiezane

+0

@eddiezane да, мои полномочия верны. Я пробовал другие порты, но не работал. – Subash

ответ

0

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

Properties props = new Properties(); 
props.put("mail.smtp.host", "smtp.gmail.com"); // SMTP Host 
props.put("mail.smtp.port", "587"); // TLS Port 25/587 
props.put("mail.smtp.starttls.enable", "true"); 
props.put("mail.smtp.auth", "true"); // enable authentication 
+0

Я использовал веб-приложение sendgrid и его рабочий режим. – Subash

Смежные вопросы