繁体   English   中英

无法连接到SMTP主机:smtp8.net4india.com,端口:25;

[英]Could not connect to SMTP host: smtp8.net4india.com, port: 25;

在发送显示错误的电子邮件时:

javax.mail.MessagingException: Could not connect to SMTP host: smtp8.net4india.com, port: 25;
  nested exception is:
    java.net.ConnectException: Connection timed out: connect

我的电子邮件设置是:

        String mailProcessed = "";
        Properties props = new Properties();
        props.put("mail.smtp.host", "smtp8.net4india.com");
        props.put("mail.smtp.socketFactory.port", "25");
        props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "25");
        props.put("mail.smtp.starttls.enable", "true");

        Session session = Session.getDefaultInstance(props,
                new javax.mail.Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(frmMail, frmPass);
                    }
                });

删除props.put("mail.smtp.starttls.enable", "true");

并添加props.put("mail.smtp.ssl.enable", "true");

您正在使用SSL,而不是TLS。

还要确保邮件服务器支持SSL。

还要确保邮件服务器正在使用TCP协议SMTP ,它们可能正在使用IMAPPOP3 在这种情况下,您需要通过使用的协议来更改引用的属性,即: props.put("mail.pop3.socketFactory.port", "25"); props.put("mail.pop3.socketFactory.class","javax.net.ssl.SSLSocketFactory");

您正在为会话使用getDefaultInstance ,但是如果已经建立了会话,它将返回现有会话,并且您的属性将丢失。

检查常见错误页面,它具有全部内容: https : //javaee.github.io/javamail/FAQ#commonmistakes

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM