如何用java发送ZOHO SMTP服务器邮件?

如何用java发送ZOHO SMTP服务器邮件?,java,smtp,Java,Smtp,我一直在使用ZOHO SMTP服务器发送电子邮件。但它在localhost服务器上工作,当将我的代码部署到AWS服务器上时,它将不工作,它给出如下异常 javax.mail.MessagineException:无法连接到SMTP主机:SMTP.zoho.com,端口:465; 嵌套异常是: javax.net.ssl.SSLHandshakeException:没有合适的协议(协议被禁用或密码套件不合适) 我的java代码是:- Properties prop = new Properties

我一直在使用ZOHO SMTP服务器发送电子邮件。但它在localhost服务器上工作,当将我的代码部署到AWS服务器上时,它将不工作,它给出如下异常

javax.mail.MessagineException:无法连接到SMTP主机:SMTP.zoho.com,端口:465; 嵌套异常是: javax.net.ssl.SSLHandshakeException:没有合适的协议(协议被禁用或密码套件不合适)

我的java代码是:-

Properties prop = new Properties();
prop.put("mail.smtp.host", "smtp.zoho.com");
        prop.put("mail.smtp.port", 465);

        prop.setProperty("mail.smtp.user", username);
        prop.setProperty("mail.smtp.password", password);
        prop.setProperty("mail.smtp.auth", "true");
        // prop.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
        prop.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        prop.setProperty("mail.smtp.socketFactory.fallback", "false");
        prop.setProperty("mail.smtp.socketFactory.port", "465");
        // prop.put("mail.smtp.starttls.enable", "true");
        // prop.setProperty("mail.smtps.tls.enable", "true");
上面的代码在我的本地主机服务器(Tomcat)中工作。
任何人都可以帮助解决这个问题。

465是SSL端口。AWS中似乎缺少来自ZOHO的SSL证书。从Zoho下载/获取证书并将其导入AWS的密钥库。它应该能解决问题。
查看类似问题和可能的解决方案。

谢谢NaveenBharadwaj。您能告诉我如何从Zoho下载/获取证书并将其导入AWS的密钥库吗。要从ZOHO获得SSL证书,您需要检查AWS中的现有证书。当我阅读一些文章时,需要购买Zoho SSL证书。它不是免费的。也许AWS已经帮你做了。有必要检查一下。如果不是这样的话,您将需要额外的费用。问题是,当您从本地主机连接时,它使用的是HTTP。一旦部署到AWS(使用HTTPS),通信就变得“安全”。由于没有证书,这种通信没有成功,因为没有握手。这就是例外。