gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 03:20:07 25 4
gpt4 key购买 nike

我正在尝试在我的 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com