2014-06-13 58 views
1

我正在嘗試在我的Spring Web App中配置JavaMailSender。完成訂單後,它會發送完美正常的電子郵件。然而,它採自電子郵件地址是一個在配置([email protected]),而不是一個我在MimeMessageHelper設置([email protected])。下面是我的配置文件:使用JavaMailSender在Spring中配置郵件

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 
    <property name="host" value="${mail.host}" /> 
    <property name="port" value="${mail.port}" /> 
    <property name="username" value="${mail.username}" /> // [email protected] 
    <property name="password" value="${mail.password}" /> 



    <property name="javaMailProperties"> 
     <props> 
      <prop key="mail.smtp.auth">${mail.smtp.auth}</prop> 
      <prop key="mail.smtp.starttls.enable">${mail.smtp.starttls.enable}</prop> 
     </props> 
    </property> 

</bean> 

<bean id="mailSenderUtil" class="com.autoshipcart.payment.util.MailSenderUtil"> 
    <property name="mailSender" ref="mailSender"></property> 
</bean> 

這是我的JAVA類:

  MimeMessage mimeMessage = mailSender.createMimeMessage(); 
     MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "UTF-8"); 
     helper.setTo(toEmailAddress); 
     helper.setFrom(new InternetAddress(fromEmailAddress)); // [email protected] 
     helper.setSubject(subject); 
     helper.setText(text, ishtml); 
     this.mailSender.send(mimeMessage); 

我甚至試過MimeMessagePreparator。請幫忙!

+0

你會發現一個更動態的方法來解決你的問題[https://stackoverflow.com/questions/2016190/how-to-configure-spring-javamailsenderimpl-for-gmail](https://stackoverflow.com/questions/2016190/how-to-configure-spring-javamailsenderimpl-for-gmail) – SAM

回答

3

它不是你的java代碼的問題。它的Gmail - 因爲你通過你的gmail帳戶發送郵件,谷歌正在覆蓋你的gmail用戶名的From地址。

如果您查看以其原始格式發送的電子郵件及其所有標題 - 您將看到X-Google-Original-From,其中將包含您在MimeMessage中設置的發件人地址 - 但發件人字段將是gmail用戶名。

+0

謝謝,露易絲!有什麼方法可以覆蓋這個或我必須使用不同的郵件服務器嗎? – user2879206

+0

請參閱以下鏈接瞭解更多信息:https://support.google.com/mail/answer/22370?hl = zh_CN – user2879206

相關問題