在Java中使用SimpleMailMessage发送时,显示的发件人地址而不是其姓名

Gay*_*jan 2 java email spring

我从org.springframework.mail包中使用SimpleMailMessage发送邮件,但是在接收方显示发件人的地址,我想设置他的名字,将使用哪种方法?SimpleMailMessage类中是否有可用的方法?我正在使用spring与冬眠。

 public void sendmail(){
 String emailSubject = "Test Message";                                          
 String emailBody = "For testing";
 SimpleMailMessage simpleMailMessage = new SimpleMailMessage();     
 simpleMailMessage.setTo("sendermailid@gmail.com");
 simpleMailMessage.setCc("receivermailid@gmail.com");
 simpleMailMessage.setSubject(emailSubject);
 simpleMailMessage.setText(emailBody);
 mailSender.send(simpleMailMessage);
 }
Run Code Online (Sandbox Code Playgroud)

Lar*_*nke 5

使用Spring的MimeMessageHelper设置发件人名称地址。

        MimeMessagePreparator mailMessage = mimeMessage -> {
            MimeMessageHelper message = new MimeMessageHelper(
                    mimeMessage, true, "UTF-8");

            message.setFrom(senderEmail, senderName);
            [...]
        };
        mailSender.send(mailMessage);
Run Code Online (Sandbox Code Playgroud)

另请参见此答案中的代码段。