java 邮件 - 使用动态发件人电子邮件地址

java mail - use dynamic sender email address

我正在使用来自 google 的电子邮件服务(使用我的自定义域)。我想使用动态发件人电子邮件地址,即当用户注册时,他应该收到来自 register@example.com 的电子邮件,当他下订单时,应该收到来自 orders@example.com

的电子邮件

我使用 java 邮件发送电子邮件,应用程序是使用 spring 框架开发的。电子邮件已发送,唯一的问题是始终从 spring 配置 xml.

中指定的用户名接收电子邮件

Spring配置:

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <property name="host" value="smtp.gmail.com" />
    <property name="port" value="587" />
    <property name="username" value="username" />
    <property name="password" value="password" />

    <property name="javaMailProperties">
        <props>
            <prop key="mail.smtp.auth">true</prop>
            <prop key="mail.smtp.starttls.enable">true</prop>
        </props>
    </property>
</bean>

MimeMessagePreparator preparator = new MimeMessagePreparator() {
            public void prepare(MimeMessage mimeMessage) throws Exception {
                mimeMessage.setRecipient(Message.RecipientType.TO,
                        new InternetAddress(order.getCustomer().getEmailAddress()));
                mimeMessage.setFrom(new InternetAddress("mail@mycompany.com"));
                mimeMessage.setText(
                        "Dear " + order.getCustomer().getFirstName() + " "
                            + order.getCustomer().getLastName()
                            + ", thank you for placing order. Your order number is "
                            + order.getOrderNumber());
            }
        };

知道我错在哪里了吗?

你有关注Gmail instructions for sending from a different email address吗?