java - 使用 JavaMailSender 在 Spring 中配置邮件

标签 java spring email

我正在尝试在我的 Spring Web 应用程序中配置 JavaMailSender。订单完成后,它会发送一封工作正常的电子邮件。但是,它选择的发件人电子邮件地址是配置中的地址 (a@gmail.com) 而不是我在 MimeMessageHelper(b@gmail.com) 中设置的地址。下面是我的配置文件:

    <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 用户名。

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

关于java - 使用 JavaMailSender 在 Spring 中配置邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24212514/

相关文章:

java - 在真实mysql系统中处理DELETE的最佳方法

.net - 使用 spring.NET 配置静态属性

php - 允许通过自己的网络服务器 iOS 7 发送电子邮件?

java - 我可以在没有网页检测 Marionette 的情况下使用 geckodriver 运行 Selenium 吗?

Java日期时间解析异常: text cannot be parsed

java - Spring 安全: method is not secured with @PreAuthorize annotation

android - 总是收到 org.apache.http.NoHttpResponseException : The target server failed to respond Android

email - GMail 似乎忽略回复

java - 打印出0-100的奇数,不包括X、Y、Z

java - Infinispan Server - 目录提供商