【问题标题】:Spring Boot - Set Alias name for email addressSpring Boot - 为电子邮件地址设置别名
【发布时间】:2020-04-18 21:42:48
【问题描述】:

我正在尝试使用 Spring Boot 发送邮件。我能够成功发送邮件,但在邮箱中,我看到了别名以及发件人电子邮件地址,例如Customer Desk[customercare@xyz.com]。我只希望发件人地址别名显示在邮箱中,如CustomerDesk。下面是我的实现。

public class MailHandlerImpl implements MailHandler {

    @Autowired
    private JavaMailSender javaMailSender;

    public void sendEmail() {
        String emailToAddress = "abc@xyz.com"
        String emailFromAddress = "Customer Desk <customercare@xyz.com>"
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();

        try {

            MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);
            mimeMessage.setFrom(new InternetAddress(emailFromAddress));
            messageHelper.setTo(InternetAddress.parse(emailToAddress));
            javaMailSender.send(mimeMessage);
        } catch (MessagingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

谁能解释我如何只能在邮箱中显示别名?

【问题讨论】:

    标签: java spring-boot jakarta-mail


    【解决方案1】:

    我对@9​​87654321@不太熟悉。但是,我认为像下面这样传递别名应该可以解决问题,

    mimeMessage.setFrom(new InternetAddress("customercare@xyz.com", "Customer Desk"));
    

    【讨论】:

    • 我确实尝试了上面的 sn-p,但我仍然能够看到别名旁边的电子邮件地址。好像没用。
    • 我已经有一段时间没有使用 Spring 了。您可以检查以下是否适合您吗? message.setFrom("customercare@xyz.com", "客户服务台")
    • 是的,我尝试了上述方法,但它仍然显示电子邮件地址。这与我从电子邮件地址输入的格式有关吗?感谢您提供您的建议!
    • 我不知道如何使用 Spring,但您需要能够独立于您要将消息发送到的地址设置消息头。 JavaMail 允许您这样做,因为 Transport.send 方法接受的地址可能与标头中的地址不同。
    猜你喜欢
    • 2022-01-06
    • 2017-09-13
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 2012-02-13
    • 2018-06-23
    • 2021-08-04
    • 2021-10-20
    相关资源
    最近更新 更多