繁体   English   中英

使用JavaMailSender在Spring中配置Mail

[英]Configuring Mail in Spring using JavaMailSender

我试图在我的Spring Web App中配置JavaMailSender。 订单完成后,它会发送完全正常工作的电子邮件。 但是,它选择的来自电子邮件地址是配置中的一个(a@gmail.com),而不是我在MimeMessageHelper(b@gmail.com)中设置的那个.Below是我的配置文件:

    <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}" /> // a@gmail.com
    <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)); // b@gmail.com
        helper.setSubject(subject);
        helper.setText(text, ishtml);
        this.mailSender.send(mimeMessage);  

我甚至尝试过MimeMessagePreparator。 请帮忙!

这不是你的java代码的问题。 它的Gmail - 因为您通过您的Gmail帐户发送邮件,谷歌正在覆盖From地址到您的Gmail用户名。

如果您查看原始格式的已发送电子邮件及其所有标题 - 您将看到X-Google-Original-From将包含您在MimeMessage中设置的起始地址 - 但是From字段将是gmail用户名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM