2012-02-24 221 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帳戶。我的另一個帳戶託管了一些東西。我要去找一個新的提供者。