耶耶耶耶耶 发表于 2023-10-27 18:49:41

Spring Boot中发送邮件时,如何让发件人显示别名

之前,我们通过一系列文章,介绍了如何在Spring Boot中发送邮件:

[*]发送邮件
[*]添加附件
[*]引用静态资源
[*]邮件模版
已经包含了大部分的应用场景。但最近DD在做YouTube中文配音的时候,碰到一个问题:
https://img2023.cnblogs.com/other/626506/202310/626506-20231012104036051-2144036066.png
如上图所示,收件人在客户端收到的时候,显示的名称是邮箱的前缀,而不是我们的产品名称,也就是邮箱别名。
开始一直在从Mail的配置类里寻找相关配置项,结果就下面这些内容:
public class MailProperties {

        private static final Charset DEFAULT_CHARSET = StandardCharsets.UTF_8;

        /**
       * SMTP server host. For instance, 'smtp.example.com'.
       */
        private String host;

        /**
       * SMTP server port.
       */
        private Integer port;

        /**
       * Login user of the SMTP server.
       */
        private String username;

        /**
       * Login password of the SMTP server.
       */
        private String password;

        /**
       * Protocol used by the SMTP server.
       */
        private String protocol = "smtp";

        /**
       * Default MimeMessage encoding.
       */
        private Charset defaultEncoding = DEFAULT_CHARSET;可以看到,并没有关于别名的配置项。那么如何设置发件人的别名呢?
最后才发现,原来是在定义发送内容的时候设置的,具体看看下面这个例子:
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom("程序猿DD<xxx@didispace.com>");// 发件人的别名设置
message.setTo("xxxx@qq.com");
message.setSubject("主题:简单邮件");
message.setText("测试邮件内容");

mailSender.send(message);如果你是组织比较复杂的邮件,使用MimeMessage的话也是一样。在setFrom的时候,像上面这样写就可以了。
今日分享就到这里,感谢阅读!如果您学习过程中如遇困难?可以加入我们超高质量的Spring技术交流群,参与交流与讨论,更好的学习与进步!更多Spring Boot教程可以点击直达!,欢迎收藏与转发支持!
欢迎关注我的公众号:程序猿DD。第一时间了解前沿行业消息、分享深度技术干货、获取优质学习资源

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Spring Boot中发送邮件时,如何让发件人显示别名