2016-08-15 3 views
0

Недавно я перевел свои письма в Google Apps. теперь я могу видеть и отправлять письма через логин на мою учетную запись электронной почты на gmail.com.JavaMail: невозможно отправить почту SMTP для домена, переданного в Google Apps

[email protected], теперь я пытаюсь отправить SMTP-письма, которые отлично работают с предыдущими настройками SMTP на более раннем хостинге.

вот мой код

Properties props = new Properties(); 
     props.setProperty("mail.transport.protocol", "smtp"); 
     props.setProperty("mail.host", "smtp.gmail.com"); 
     props.put("mail.smtp.auth", "true"); 
     props.put("mail.smtp.port", "465"); 
     props.put("mail.debug", "true"); 
     props.put("mail.smtp.socketFactory.port", "465"); 
     props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); 
     props.put("mail.smtp.socketFactory.fallback", "false"); 

     Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { 
      protected PasswordAuthentication getPasswordAuthentication() { 
       return new PasswordAuthentication("[email protected]", "my-new-password-on-gmail"); 
      } 
     }); 

и вот ошибка я вижу

EHLO 192.168.56.1 
250-smtp.gmail.com at your service, [xxx.xx.xxx.xx an ip address] 
250-SIZE 35882577 
250-8BITMIME 
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH 
250-ENHANCEDSTATUSCODES 
250-PIPELINING 
250-CHUNKING 
250 SMTPUTF8 
DEBUG SMTP: Found extension "SIZE", arg "35882577" 
DEBUG SMTP: Found extension "8BITMIME", arg "" 
DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH" 
DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg "" 
DEBUG SMTP: Found extension "PIPELINING", arg "" 
DEBUG SMTP: Found extension "CHUNKING", arg "" 
DEBUG SMTP: Found extension "SMTPUTF8", arg "" 
DEBUG SMTP: Attempt to authenticate using mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM 
DEBUG SMTP: AUTH LOGIN command trace suppressed 
DEBUG SMTP: AUTH LOGIN failed 
javax.mail.AuthenticationFailedException: 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbtb 
534-5.7.14 bABxM5_Dmk2f4asdasd86czsyvAdPqDTVjasdasdR2uN3N 
534-5.7.14 bZAMByd76RlHwaGfasdasdoMS4pvXFhJOeoGhTwfRXWU2csadasd-zsuhCGiH7LUJsvrP_ 
534-5.7.14 DGJ_H79hQJlasdasdXNk0q_lRiiSGjDxsum4cZqQ6asdasdasdasdasdefI3-GjhEXGqCi5g 
534-5.7.14 fZk_9lOFdPY9asduyernmdfhdfwm-k> Please log in via your web browser and 
534-5.7.14 then try again. 
534-5.7.14 Learn more at 
534 5.7.14 https://support.google.com/mail/answer/78754 n13oiuy5458013wmd.3 - gsmtp 

    at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:826) 
    at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:761) 
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:685) 
    at javax.mail.Service.connect(Service.java:317) 
    at javax.mail.Service.connect(Service.java:176) 
    at javax.mail.Service.connect(Service.java:125) 
    at javax.mail.Transport.send0(Transport.java:194) 
    at javax.mail.Transport.send(Transport.java:124) 
    at com.vdif.web.commons.SmtpMailSender.send(SmtpMailSender.java:104) 
    at com.vdif.web.commons.SmtpMailSender.send(SmtpMailSender.java:33) 
    at com.vdif.web.commons.SmtpMailSender.main(SmtpMailSender.java:116) 
+0

Войти было отклонено. Предоставили ли вы доступ к APP? Следуйте по ссылке в сообщении об ошибке и сделайте то, что рекомендуется там: https://support.google.com/mail/answer/78754 – Fildor

+0

Ну, я не могу исправить проблему. Каким образом можно сделать безопасное сообщение выше, я добавили gmail-сертификат в java security scert '' C:/Program Files/Java/jdk1.8.0_60/jre/lib/security/cacerts "' –

+0

openssl s_client -connect smtp.gmail.com:465> sampe.txt а затем из этого txt-файла я отделил сертификат –

ответ

0

порта нет. 465 для SSL включен (smtps). Его свойства приведены ниже:

 properties.put("mail.smtps.host", "smtp.gmail.com"); 
     properties.put("mail.smtps.port", "465"); 
     properties.put("mail.smtps.auth", "true"); 
     properties.setProperty("mail.smtp.ssl.enable", "true"); 
     properties.setProperty("mail.transport.protocol", "smtps"); 

для порта нет. 587

properties.put("mail.smtp.host", "smtp.gmail.com"); 
     properties.put("mail.smtp.port", "587"); 
     properties.setProperty("mail.smtp.starttls.enable", TRUE); 
     properties.setProperty("mail.smtp.starttls.required", TRUE); 
     properties.setProperty("mail.smtp.ssl.enable", "false"); 
     properties.setProperty("mail.transport.protocol", "smtp"); 

Это работает.!