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

[复制链接]
发表于 2023-10-27 18:49:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
之前,我们通过一系列文章,介绍了如何在Spring Boot中发送邮件:
已经包含了大部分的应用场景。但最近DD在做YouTube中文配音的时候,碰到一个问题:

如上图所示,收件人在客户端收到的时候,显示的名称是邮箱的前缀,而不是我们的产品名称,也就是邮箱别名。
开始一直在从Mail的配置类里寻找相关配置项,结果就下面这些内容:
  1. public class MailProperties {
  2.         private static final Charset DEFAULT_CHARSET = StandardCharsets.UTF_8;
  3.         /**
  4.          * SMTP server host. For instance, 'smtp.example.com'.
  5.          */
  6.         private String host;
  7.         /**
  8.          * SMTP server port.
  9.          */
  10.         private Integer port;
  11.         /**
  12.          * Login user of the SMTP server.
  13.          */
  14.         private String username;
  15.         /**
  16.          * Login password of the SMTP server.
  17.          */
  18.         private String password;
  19.         /**
  20.          * Protocol used by the SMTP server.
  21.          */
  22.         private String protocol = "smtp";
  23.         /**
  24.          * Default MimeMessage encoding.
  25.          */
  26.         private Charset defaultEncoding = DEFAULT_CHARSET;
复制代码
可以看到,并没有关于别名的配置项。那么如何设置发件人的别名呢?
最后才发现,原来是在定义发送内容的时候设置的,具体看看下面这个例子:
  1. SimpleMailMessage message = new SimpleMailMessage();
  2. message.setFrom("程序猿DD<[email protected]>");  // 发件人的别名设置
  3. message.setTo("[email protected]");
  4. message.setSubject("主题:简单邮件");
  5. message.setText("测试邮件内容");
  6. mailSender.send(message);
复制代码
如果你是组织比较复杂的邮件,使用MimeMessage的话也是一样。在setFrom的时候,像上面这样写就可以了。
今日分享就到这里,感谢阅读!如果您学习过程中如遇困难?可以加入我们超高质量的Spring技术交流群,参与交流与讨论,更好的学习与进步!更多Spring Boot教程可以点击直达!,欢迎收藏与转发支持!
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表