SpringBoot 发送邮件以及邮件内容换行(换行符“\n“不起作用)

SpringBoot 发送邮件以及邮件内容换行(换行符"\n"不起作用)

第0步:准备工作

邮箱类型 SMTP服务器地址 端口号

QQ邮箱 smtp.qq.com 465或587

sina邮箱 smtp.sina.cn 465或587

126邮箱 smtp.126.com 465或994

aliyun邮箱 smtp.aliyun.com 465或994

163邮箱 smtp.163.com 465或994

yeah邮箱 smtp.yeah.net 465或994

示例 163邮箱配置

第一步:引入相关依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

第二步:配置相关属性

mail:
  protocol: smtps
  host: smtp.163.com
  username: 你的邮箱
  password: 邮箱登录密码
  port: 465
  default-encoding: UTF-8
  properties:
    mail:
      smtp:
        socketFactoryClass: javax.net.ssl.SSLSocketFactory
      debug: true

第三步:编写代码

/**
 * FileName: EmailUtil
 * Author: be.insighted
 * Date: 2022/10/30 下午 12:49
 * Description: 發送郵件
 */
@Service
@Slf4j
public class EmailUtil {

    @Autowired
    private JavaMailSender sender;

    @Value("${spring.mail.username}")
    private String from;
    @Value("${mail.to}")
    private List<String> to;
    @Value("${mail.cs}")
    private List<String> cs;

    /**
     * 发送纯文本的简单邮件
     *
     * @param content 发送的文本内容
     */
    public void sendSimpleMail(String content, String subject) {

        log.info("初始化数据: from = {},to = {}, cs = {}", from, to, cs);
        // 构建一个邮件对象
        SimpleMailMessage message = new SimpleMailMessage();
        // 设置邮件主题
        message.setSubject(subject);

        message.setFrom(from);

        // 设置邮件接收者,可以有多个接收者,中间用逗号隔开,以下类似
        // message.setTo("10*16@163.com","1232*@163.com");
        String[] mailToArray = list2ArrayString(to);
        message.setTo(mailToArray);
        String[] ccArray = list2ArrayString(cs);
        // 设置邮件抄送人,可以有多个抄送人
        message.setCc(ccArray);
        // 设置隐秘抄送人,可以有多个
//        message.setBcc("");
        // 设置邮件发送日期
        message.setSentDate(new Date());
        // 设置邮件的正文
        message.setText(content);
        // 发送邮件
        sender.send(message);
    }

    private String[] list2ArrayString(List<String> src) {
        String[] ret = new String[src.size()];
        for (int i = 0; i < src.size(); i++) {
            ret[i] = src.get(i);
        }
        return ret;
    }
}

第四步:测试

第五步:收到的邮件

邮件内容换行 

发邮件String,java \n不起作用 =====》“\n”不换行问题,用“<br/>”替换。

@Data
public class EmailContentDTO<P, R> {
    private String apiOrMethod;
    private String third;
    private P request;
    private R response;
    private String datetime;

    @Override
    public String toString() {
        return "请求第三方服务接口报错:" +
                "<br/>接口(方法)信息:" + apiOrMethod +
                "<br/>第三方服务:" + third  +
                "<br/>请求参数:" + request +
                "<br/>请求响应:" + response +
                "<br/>请求时间:" + datetime;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值