2014-06-13 60 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

相关问题