Java de Diffusion de la Logique: impossible de convertir le socket TLS
Dans une application, j'ai mis en place l'envoi des mails logique à l'aide de java. J'ai utilisé smtp.gmail.com
sur 587 port
avec une pièce d'gmail id et le mot de passe. Dans un environnement de développement tout fonctionne bien. Mais dans l'environnement de production, j'ai besoin d'utiliser un autre serveur de diffusion de dire smtp.xyz.in
sur port 25
avec un id e-mail valide et un mot de passe sur ce domaine.
Quand j'ai continuer avec le protocole SSL activer avec le code suivant:
J'obtiens une erreur
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);
Quand je suis retrait EnableSSL et d'essayer en ajoutant le code suivant:
(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);
Par googler suffisamment dans les 3 derniers jours, je comprends que j'ai besoin pour configurer le certificat de confiance étant donné ici.
Mais je veux continuer sans cryptage et sans vol pour activer le protocole SSL. Est-il possible d'envoyer des e-mails par des programmes java à travers notre propre nom de domaine sans l'activation du protocole SSL.
Toute aide sera appréciée.
javax.mail.AuthenticationFailedException:535 5.7.3 Authentication unsuccessful
signifie que votre mot de passe/nom d'utilisateur est incorrect. Cette erreur n'est pas relationated avec SSL.Mais je suis en mesure d'accéder et d'envoyer des e-mails en utilisant la même adresse email et le mot de passe. De plus au cours de la même logique est à l'envoi de l'email dans mon Système de travail, mais ne fonctionne pas dans le serveur de production(Qui est sur un système dans certains intranet)
Avez-vous essayez d'ajouter le nom de domaine avec votre nom d'utilisateur?
domain/username
Dire que le Domaine est xyz.dans, je suis à l'aide de mail.smtp.hôte: smtp.xyz.dans le courrier.smtp.port:25 et mail [email protected] que toutes les choses ne sont valables qu'à ma connaissance. Est-il un autre moyen d'envoyer des messages sans activation du protocole SSL à l'aide de propre serveur de domaine?
OriginalL'auteur Shailesh Saxena | 2013-06-25
Vous devez vous connecter pour publier un commentaire.
Que le protocole SSL/TLS est requis ou qui n'est pas contrôlé par votre serveur de messagerie. Si elle l'exige, vous devez l'utiliser.
Vous pouvez définir la mail.smtp.le protocole ssl.les biens de la fiducie d'ignorer la délivrance du certificat, ou vous pouvez le fixer comme décrit dans la JavaMail FAQ.
OriginalL'auteur Bill Shannon
Généralement, tout ce que vous devez spécifier est le votre serveur SMTP hôte, le port, et si votre serveur SMTP requiert une authentification lors de l'envoi d'e-mails ou pas et si la communication avec le serveur SMTP doit être protégée par SSL/TLS. Vous devez spécifier les propriétés correspondantes correctement et c'est tout.
Mais, les paramètres ci-dessus sont dictées par le serveur SMTP. Le serveur décide d'accepter uniquement les connexions sécurisées; et s'il doit utiliser le protocole SSL ou plus sécurisé TLS et il serait l'un ou l'autre ou les deux. Aussi, certains serveurs SMTP avez besoin d'expéditeurs d'authentification lors de l'envoi d'e-mails alors que certains ne le font pas. Donc, vous devez vérifier la documentation du serveur SMTP que vous allez utiliser pour configurer correctement les paramètres. Reportez-vous ici pour un exemple qui utilise Gmail pour envoyer des emails
OriginalL'auteur Drona
Si vous utilisez
Veuillez retirer ce morceau de code pour éviter de Configuration SSL de serveur SMTP.
OriginalL'auteur Rajkumar Teckraft
Hey Désactiver votre antivirus, c'est de travailler pour moi.
- Je désactiver le SMTP sortant antivirus
OriginalL'auteur shubham bansal