How to show the sender address in Outlook when sending mail from Java (MailMessageHelper)?

I am using spring MimeMessageHelper and JavaMailSender and when users of my app receive an email, I want to show only the message senders name and not the address. Everything works fine on yahoo, gmail, hotmail and etc., but outlook does not show the sender name, and that is the problem.

Service:

private final JavaMailSender emailSender;

@Value("${spring.mail.username}")
private String mailUsername;

@SneakyThrows
private void sendMailInner(String to, String subject, String body String sender) {

    MimeMessage mimeMessage = emailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true,"utf-8");
    if(sender != null){
        helper.setFrom(mailUsername, sender);
    } else {
        helper.setFrom(mailUsername);
    }
    helper.setTo(new InternetAddress(to));
    helper.setSubject(subject);
    helper.setText(body, true);
    emailSender.send(mimeMessage);
}

Application properties:

spring: mail:

host: smtp.office365.com
port: 587
username: my app email
password: ****
properties:
  mail:
    transport:
      protocol: smtp
    smtp:
      auth: true
      starttls:
        enabled: true
    debug: true

Upvotes: 0

Views: 111

Answers (0)

Related Questions