【问题标题】:javamail 535 authentication errorjavamail 535 认证错误
【发布时间】:2012-03-14 11:30:40
【问题描述】:

我在 Spring 中使用以下设置来创建我的邮件发件人。

  <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
      <property name="host" value="mail.heavyweight.com"/>
      <property name="password" value="xxxxxx"/>
      <property name="port" value="26"/>
      <property name="username" value="thom@heavyweight.com"/>
      <property name="session">
        <bean class="javax.mail.Session" factory-method="getDefaultInstance">
          <constructor-arg>
            <props>
              <prop key="mail.smtp.from">thom@heavyweight.com</prop>
              <prop key="mail.smtp.user">thom@heavyweight.com</prop>
              <prop key="mail.smtp.auth">true</prop>
              <prop key="mail.smtp.starttls.enable">false</prop>
            </props>
          </constructor-arg>
          <property name="debug" value="true"/>
        </bean>
      </property>
  </bean>

使用我在邮件客户端中使用的相同 SMTP 服务器、用户和密码。

当我尝试发送电子邮件时,我在调试中得到了这个:

DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true

DEBUG SMTP: trying to connect to host "mail.heavyweight.com", port 26, isSSL false
220-dyn.dynamicwebs.com ESMTP Exim 4.69 #1 Thu, 23 Feb 2012 16:55:27 -0600 
220-We do not authorize the use of this system to transport unsolicited, 
220 and/or bulk e-mail.
DEBUG SMTP: connected to host "mail.heavyweight.com", port: 26

EHLO motion
250-dyn.dynamicwebs.com Hello 74-133-195-24.dhcp.insightbb.com [74.133.195.24]
250-SIZE 52428800
250-PIPELINING
250-AUTH PLAIN LOGIN
250-STARTTLS
250 HELP
DEBUG SMTP: Found extension "SIZE", arg "52428800"
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "AUTH", arg "PLAIN LOGIN"
DEBUG SMTP: Found extension "STARTTLS", arg ""
DEBUG SMTP: Found extension "HELP", arg ""
DEBUG SMTP: Attempt to authenticate
DEBUG SMTP: check mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM 
AUTH LOGIN
334 VXNlcm5hbWU6
dGhvbUBoZWF2eXdlaWdodHNvZnR3YXJlLmNvbQ==
334 UGFzc3dvcmQ6
[redacted]
535 Incorrect authentication data

那么为什么我会得到 535?有什么想法吗?

我之前已经成功完成了几次,没有问题。有关此服务器的特定信息。

密码似乎已加密。既然我需要密码不加密,这会不会有问题?

谢谢。

【问题讨论】:

  • 您知道您的邮件服务是否希望您的密码被编码?也许是 Base64?
  • @jowierun 由于我的邮件客户端正在发送未加密的密码,我假设这将需要同样的东西。我认为这回答了你的问题。
  • 我希望这不是您的真实密码...如果它只是 base64 编码并且解码起来很简单,所以现在更改它(并使其如此 :-) 我编辑了帖子以进行编辑密码。
  • 至于 535,除非服务器在撒谎,否则它的含义正是 RFC 所说的——服务器拒绝了您的凭据。我建议您尝试使用 Wireshark 从您的电子邮件客户端观看“工作”会话,以查看真正传输的内容。
  • 谢谢,但是,这不是我的真实密码。

标签: java spring smtp jakarta-mail


【解决方案1】:

我以这种方式配置了我的 Spring bean(来自 post),没有使用 session 属性(允许通过 GMail SMTP 服务器发送电子邮件):

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <property name="host" value="smtp.gmail.com" />
    <property name="port" value="587" />
    <property name="username" value="username" />
    <property name="password" value="password" />

    <property name="javaMailProperties">
       <props>
              <prop key="mail.smtp.auth">true</prop>
              <prop key="mail.smtp.starttls.enable">true</prop>
           </props>
    </property>
</bean>

它就像一个魅力。 你可以试试看。

【讨论】:

    【解决方案2】:

    最后,我退出并使用了我的 Gmail 帐户。我的另一个帐户的托管出了点问题。我要找一个新的供应商。

    【讨论】:

      猜你喜欢
      • 2013-12-19
      • 2013-08-07
      • 2021-10-13
      • 2016-11-19
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 1970-01-01
      • 2022-08-05
      相关资源
      最近更新 更多