Spring boot Spring/Java邮件:发件人始终是Spring.Mail.username。正在忽略发件人地址

Spring boot Spring/Java邮件:发件人始终是Spring.Mail.username。正在忽略发件人地址,spring-boot,Spring Boot,我使用simpleEmailMessage发送邮件。一切都很顺利。但我不知道为什么在收件人端显示的是spring.mail.username的地址,而不是发件人地址。 每个邮件都发送到正确的地址,但都来自在属性spring.mail.username中创建的地址邮件 这将使用什么方法?在SimpleEmailMessage类中是否有可用的方法 resources/application.properties spring.mail.host = smtp.gmail.com spring.mai

我使用
simpleEmailMessage
发送邮件。一切都很顺利。但我不知道为什么在收件人端显示的是
spring.mail.username的
地址,而不是发件人地址。 每个邮件都发送到正确的地址,但都来自在属性spring.mail.username中创建的地址邮件 这将使用什么方法?在
SimpleEmailMessage
类中是否有可用的方法

resources/application.properties

spring.mail.host = smtp.gmail.com
spring.mail.port=587
spring.mail.username = ***@otherdomain
spring.mail.password = ***
spring.mail.properties.mail.smtp.auth = true
spring.mail.properties.mail.smtp.starttls.enable=true 
代码


无法更改电子邮件地址的
,因为它是
硬编码的:spring.mail.username=***@otherdomain
位于
资源/应用程序.properties

但是您可以使用
mimessagepreparator

try {
   MimeMessagePreparator preparator = (mimeMessage) -> {
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
        helper.setFrom(new InternetAddress("no-reply@gmail.com", "JACK SPARROW"));
        helper.setTo("example@gmail.com");
        helper.setSubject("Sample email");
        helper.setText("Message from ....", true);
    };          
    javaMailSender.send(preparator);
  } catch (MailException exception) {
    throw exception;
}

无法更改电子邮件地址的
,因为它是
硬编码的:spring.mail.username=***@otherdomain
位于
资源/应用程序.properties

但是您可以使用
mimessagepreparator

try {
   MimeMessagePreparator preparator = (mimeMessage) -> {
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
        helper.setFrom(new InternetAddress("no-reply@gmail.com", "JACK SPARROW"));
        helper.setTo("example@gmail.com");
        helper.setSubject("Sample email");
        helper.setText("Message from ....", true);
    };          
    javaMailSender.send(preparator);
  } catch (MailException exception) {
    throw exception;
}

同一问题邮件未与发件人地址一起发送。无法更改电子邮件的
地址,因为它是
资源/应用程序.properties中的
硬编码
。该怎么办?当我删除app.prop中的codein时,我收到了一条错误的消息,因为我需要它每次都被更改,而发送者的电子邮件地址是不可能的。除非您创建了一个包含所有发件人详细信息的条件bean
用户名(电子邮件)和密码
。同样的问题,邮件不会与发件人地址一起发送,因为它是
资源/应用程序.属性
中的
硬编码
地址,所以无法更改
发件人地址。那么该怎么办?当我删除app.prop中的codein时,我收到了一条错误的消息,因为我需要它每次都被更改,而发送者的电子邮件地址是不可能的。除非您创建一个包含所有发件人详细信息的条件bean
用户名(电子邮件)和密码