• 在用JAVA发送邮件时,如何显示发件人的别名?
  • 发布于 2个月前
  • 314 热度
    0 评论

问题:我们在用JAVA发送邮件时,如何显示发件人的别名

如上图所示,收件人在客户端收到的时候,显示的名称是邮箱的前缀,而不是我们的产品名称,也就是邮箱别名。开始一直在从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("堆代码<xxx@duidaima.com>");  // 发件人的别名设置
message.setTo("xxxx@qq.com");
message.setSubject("主题:简单邮件");
message.setText("测试邮件内容");

mailSender.send(message);
如果你是组织比较复杂的邮件,使用MimeMessage的话也是一样。在setFrom的时候,像上面这样写就可以了。

今日分享就到这里,感谢阅读!
用户评论