将gmx smtp服务器与java邮件一起使用

将gmx smtp服务器与java邮件一起使用,java,smtp,jakarta-mail,Java,Smtp,Jakarta Mail,我想使用gmx smtp服务器用java邮件发送一些邮件。 我得到的只是这个异常,我应该在异常中查看的页面没有为我提供如何解决这个问题的信息 com.sun.mail.smtp.SMTPSendFailedException: 553 5.1.7 Complete address with domain, please ( http://portal.gmx.net/serverrules ) {mp032} ; nested exception is: com.sun.ma

我想使用gmx smtp服务器用java邮件发送一些邮件。 我得到的只是这个异常,我应该在异常中查看的页面没有为我提供如何解决这个问题的信息

com.sun.mail.smtp.SMTPSendFailedException: 553 5.1.7 Complete address with domain, please ( http://portal.gmx.net/serverrules ) {mp032}
;
  nested exception is:
        com.sun.mail.smtp.SMTPSenderFailedException: 553 5.1.7 Complete address with domain, please ( http://portal.gmx.net/serverrules ) {mp032}
我用Java实现了它,如下所示:

props = new Properties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.host", "mail.gmx.net");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
props.put("mail.from", "test@test.test);
props.put("username", "SOMEUSERNAME@gmx.at");
props.put("password", "SOMEPASS");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.debug", "true");

Authenticator auth = new SMTPAuthenticator(props.getProperty("username"), props.getProperty("password"));


    if ("true".equals(smtp.getSmtpAuth())) {
        mailSession = Session.getDefaultInstance(props, auth);
    } else {
        mailSession = Session.getDefaultInstance(props);
    }


}

class SMTPAuthenticator extends Authenticator {

    private String username, password;

    public SMTPAuthenticator(String username, String password) {
        this.username = username;
        this.password = password;
    }

    @Override
    public PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(username, password);
    }
}

首先,通过修复这些问题来清理和简化程序


然后,检查协议跟踪。它应该显示服务器所抱怨的SMTP命令和地址。(属性“mail.smtp.debug”不是JavaMail可以理解的属性。)

首先,通过修复这些属性来清理和简化程序


然后,检查协议跟踪。它应该显示服务器所抱怨的SMTP命令和地址。(属性“mail.smtp.debug”不是JavaMail理解的属性。)

以下是用于发送电子邮件的工作代码:

注 否则,您仍然会得到一个
身份验证失败异常
异常:

Exception in thread "main" javax.mail.AuthenticationFailedException: 535 Authentication credentials invalid

    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:253)
    at javax.mail.Transport.send(Transport.java:124)

以下是发送电子邮件的工作代码:

注 否则,您仍然会得到一个
身份验证失败异常
异常:

Exception in thread "main" javax.mail.AuthenticationFailedException: 535 Authentication credentials invalid

    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:253)
    at javax.mail.Transport.send(Transport.java:124)

我设置了一个非常类似的spring设置。我的工作是发送电子邮件。当登录Gmx.de页面时,Gmx会在收件箱中显示电子邮件。但我的发送邮件不会显示在任何邮件客户端中,如Mac的mail或Androids Aquamail。就像任何客户都不会收到这些电子邮件一样。如何调整以使其工作?(同样适用于web.de作为电子邮件提供商,wich与gmx有些相同)我设置了一个非常类似的spring设置。我的工作是发送电子邮件。当登录Gmx.de页面时,Gmx会在收件箱中显示电子邮件。但我的发送邮件不会显示在任何邮件客户端中,如Mac的mail或Androids Aquamail。就像任何客户都不会收到这些电子邮件一样。如何调整以使其工作?(同样适用于作为电子邮件提供商的web.de,它与gmx有些相同)