2012-02-24 223 views
0

我在Spring内部使用以下设置来创建我的邮件发件人。javamail 535身份验证错误

<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="[email protected]"/> 
     <property name="session"> 
     <bean class="javax.mail.Session" factory-method="getDefaultInstance"> 
      <constructor-arg> 
      <props> 
       <prop key="mail.smtp.from">[email protected]</prop> 
       <prop key="mail.smtp.user">[email protected]</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?有任何想法吗?

我已经成功地完成了这个过程,没有问题。这个服务器的具体内容。

密码似乎被加密。由于我需要密码才能解密,这不是问题吗?

谢谢。

+0

你知道你的邮件服务是否希望你的密码被编码? Base64也许? – 2012-02-24 00:25:51

+0

@jowierun由于我的邮件客户端发送的是未加密的密码,因此我认为这需要相同的东西。我认为这回答你的问题。 – Thom 2012-02-24 00:48:58

+0

我希望这不是你真正的密码......如果它只是base64编码并且解码不起作用,那么现在就改变它(并使其成为:-)我编辑了帖子以编辑密码。 – 2012-02-24 02:53:51

回答

0

我配置我的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> 

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

0

最后,我退出并使用了我的Gmail帐户。我的另一个帐户托管了一些东西。我要去找一个新的提供者。