2016-04-25 8 views
0

Ich habe eine E-Mail von Google Mail-Konto zu meinem Hosting-Unternehmen, und ich versuche, E-Mails von diesem Konto in Java zu senden, aber die folgenden Fehler sind vor:E-Mails von Java unter Verwendung spezifische Gmail Senden accont

javax.mail.AuthenticationFailedException: 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbsF 
534-5.7.14 i7ZvgRt2ia4HE_atVycPueORguLHg4yVG6hw_JGdAgbyUkBfJySVDR_XvkzLZzQp88F-UN 
534-5.7.14 aoGU0uN-UBUR91zW7jsbzeq8Ojr6FEjFQcpsVKpv9GLaUPY3ee-pUk3Y6eNABFeA8DgDlu 
534-5.7.14 fNDQwLg_R1I5-veyWJ8qE73R833F8PHWFuRanCjTkyPjQogqO-VrBG6omrZHsP3I-8Wphr 
534-5.7.14 AjvaiqquhwnrUrmKjyk6RKaJnYaiA> 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 w77sm17182835wmw.10 - gsmtp 

und hier ist die Eigenschaften in meinem Code verwenden:

final String username = "[email protected]"; 
    final String password = "********"; 


    final String host = "smtp.gmail.com"; 
    final String port = "587"; 

    // Creating Properties object 
    Properties props = new Properties(); 
    // Defining properties 
    props.put("mail.smtp.host", host); 
    props.put("mail.transport.protocol", "smtp"); 
    props.put("mail.smtp.auth", "true"); 
    props.put("mail.smtp.starttls.enable", "true"); 

    props.put("mail.user", username); 
    props.put("mail.password", password); 
    props.put("mail.port", port); 

    // Authorized the Session object. 
    Session mailSession = Session.getInstance(props, new javax.mail.Authenticator() { 
     @Override 
     protected PasswordAuthentication getPasswordAuthentication() { 
      return new PasswordAuthentication(username, password); 
     } 
    }); 

So klar zu sein, meine E-Mail ist ([email protected]) und mycompany.com E-Mails werden auf Gmail gehostet. Und wenn ich meine E-Mail mit einer Gmail-E-Mail wie ([email protected]) ersetzen, funktioniert es richtig, Also, was ist das Problem hier und wie man es löst.

+0

Viele der unten Vorschläge sind falsch und machen nur den Code komplizierter. Siehe die Liste der [üblichen JavaMail-Fehler] (http://www.oracle.com/technetwork/java/javamail/faq/index.html#commonmistakes). Haben Sie den Anweisungen in der Fehlermeldung folgen und [Login mit Ihrem Browser] (https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbsFi7ZvgRt2ia4HE_atVycPueORguLHg4yVG6hw_JGdAgbyUkBfJySVDR_XvkzLZzQp88F-UNaoGU0uN-UBUR91zW7jsbzeq8Ojr6FEjFQcpsVKpv9GLaUPY3ee-pUk3Y6eNABFeA8DgDlufNDQwLg_R1I5-veyWJ8qE73R833F8PHWFuRanCjTkyPjQogqO-VrBG6omrZHsP3I-8WphrAjvaiqquhwnrUrmKjyk6RKaJnYaiA) –

+0

Ja, ich tat, aber nichts passierte –

Antwort

0

Ich denke, Ihr Problem mit Eigenschaften mail.smtp.port, mail.smtp.socketFactory.port

bitte angeben, wenn nicht und die Port-Nummer sollte Sie fein ändern arbeiten.

versuchen, diesen Satz von Eigenschaften ... der Code arbeiten müssen (ein Arbeitscode von meinem laufenden Projekt hinzugefügt)

  v_objProperties = new Properties(); 
      v_objProperties.put("mail.smtp.host","smtp.gmail.com"); 
      v_objProperties.put("mail.smtp.auth", "true"); 
      v_objProperties.put("mail.debug", "false"); 
      v_objProperties.put("mail.smtp.port",25); 
      v_objProperties.put("mail.smtp.socketFactory.port",25); 
      v_objProperties.put("mail.smtp.starttls.enable", "true"); 
      v_objProperties.put("mail.transport.protocol", "smtp"); 
      v_objSession = Session.getInstance(v_objProperties, new Authenticator() { 
       @Override 
       protected PasswordAuthentication getPasswordAuthentication() { 
        return new PasswordAuthentication("[email protected]", "*********"); 
       } 
      }); 
+0

Bin immer noch mit dem gleichen Fehler konfrontiert –

0

Zunächst fixieren diesen Code wie wie unten props.put("mail.port", port);

props.put("mail.smtp.port", port); 

Für host funktioniert Ihre Codierung nur für einen Teil von . Es funktioniert nicht mit eigenen Domain-Gmail-Diensten (z. B. ****@abc.com). Meistens, die SSL verwendet. Aus diesem Grund müssen Sie die Mail-Einstellungen konfigurieren, indem Sie Person/Konto autorisieren.

REF: SSL using in Java und mkyoung

Verwandte Themen