Java Mailing Logic: Não foi possível converter o soquete para TLS
Em um aplicativo, eu implementei lógica de envio de email usando java. eu useismtp.gmail.com
sobre587 port
com um ID e uma senha válidos do Gmail. No ambiente de desenvolvimento, tudo está funcionando bem. Mas no ambiente de produção eu preciso usar um servidor de correspondência diferente, digamossmtp.xyz.in
sobreport 25
com um ID de email e senha válidos nesse domínio.
Quando eu continuo com SSL, habilito com o seguinte código:
Estou recebendo um erro
Could not convert socket to TLS
SunCertPathBuilderException: Unable To Find Valid Certification Path To Requested Target
================================================== =====
final ResourceBundle rsbd=ResourceBundle.getBundle("main/ResourceBundle/Dyna");
// -- Attaching to default Session, or we could start a new one
props.put("mail.smtp.host", smtpServer);
props.put("mail.smtp.auth", "true");
props.put("mail.debug", "true");
props.put("mail.smtp.port", port);
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.EnableSSL.enable","true");
Session session =Session.getInstance(props, new Authenticator() {protected PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication(admin_mail, admin_password);}});
// -- Create a new message --
Message msg = new MimeMessage(session);
// -- Set the FROM and TO fields --
msg.setFrom(new InternetAddress(from));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(email, false));
msg.setSubject(subject);
msg.setText(emailContent);
// -- Set some other header information --
msg.setHeader("X-Mailer", "LOTONtechEmail");
msg.setSentDate(new Date());
// -- Send the message --
Transport.send(msg);
Quando estou removendo o EnableSSL e tentando adicionar o seguinte código:
(getting javax.mail.AuthenticationFailedException:535 5.7.3 Authentication unsuccessful)
================================================== ========================
props.put("mail.smtp.socketFactory.port","25");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "true");
MailSSLSocketFactory sf=new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
props.put("mail.smtp.ssl.socketFactory", sf);
Pesquisando o suficiente nos últimos três dias, eu entendo que preciso configurar para um certificado confiável como dadoAqui.
Mas quero continuar sem criptografia e sem assaltos para ativar o SSL. Existe uma maneira de enviar e-mails por programas java através de nosso próprio domínio sem ativar o SSL. Qualquer ajuda será apreciada.