springboot发送邮件内容及换行

本文详细介绍了如何在SpringBoot项目中通过JavaMailSender发送邮件,包括配置yml文件,设置QQ邮箱的授权信息,创建MailService接口及其实现类,以及如何发送简单邮件和带有附件的邮件。示例代码清晰展示了整个过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文采用JavaMailSender+springboot邮件发送,具体操作内容看下面详细说明

  • 首先搭建好springboot项目,引入pom文件
    说明:若下面的包并非在新建demo引入的那么后续引入的时候注意选择版本,尽量不要选最新版,优先高引入量的版本,否则不兼容会提示包错误
<!--邮件发送-->
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-mail -->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-mail</artifactId>
	<version>2.2.6.RELEASE</version>
</dependency>
  • 配置yml文件
    说明:这里以qq为例,其他139邮箱、163邮箱设置对应的协议授权服务器端口等信息
spring:
  mail:
    username: xxxxxx@qq.com #授权邮箱用户
    password: debnxxxxxxxxxxbf #授权码,需开启POP3/SMTP服务允许POP3/SMTP服务
    host: smtp.qq.com #授权服务器
    properties:
      mail:
        smtp:
          ssl:
            enable: true #开启SSL
  • 新建自定义MailService接口类
public interface MailService {
    /**
     * 发送简单邮件
     * @param subject 邮件主题
     * @param text 邮件内容
     * @param receiver 收件人账户
     */
    void sendSimpleMail(String subject,String text,String receiver);

    /**
     * 发送带附件的邮件
     * @param subject 邮件主题
     * @param text 邮件内容
     * @param receiver 收件人账户
     * @param attachments 附件
     */
    void sendAttachmentMail(String subject, String text, String receiver, Map<String, String> attachments);
}
  • 新建MailServiceImpl类去实现MailService
@Service
public class MailServiceImpl implements MailService{
    @Autowired
    private JavaMailSenderImpl mailSender;

    @Override
    public void sendSimpleMail(String subject, String text, String receiver) {

        SimpleMailMessage message = new SimpleMailMessage();
        message.setSubject(subject);
        message.setText(text);
        message.setTo(receiver);//收件人邮箱
        message.setFrom(Constants.MailQQsetFrom);//Constants.MailQQsetFrom值为发件人账户,需与yml配置文件保持一致
        mailSender.send(message);
    }

    @Override
    public void sendAttachmentMail(String subject, String text, String receiver, Map<String, String> attachments) {

        MimeMessage mimeMessage = mailSender.createMimeMessage();

        try{

            //multipart 是否上传附件
            MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage,true);

            mimeMessageHelper.setSubject(subject);
            mimeMessageHelper.setText(text);
            mimeMessageHelper.setTo(receiver);//收件人邮箱
            mimeMessageHelper.setFrom(Constants.MailQQsetFrom);//Constants.MailQQsetFrom值为发件人账户,需与yml配置文件保持一致

            //上传附件
            attachments.forEach((k,v) -> {
                try{
                    mimeMessageHelper.addAttachment(k,new File(v));
                }catch (MessagingException e){
                    e.printStackTrace();
                }
            });
        }catch (Exception e){
            e.printStackTrace();
        }

        mailSender.send(mimeMessage);
    }
}
  • 直接调用即可
@RestController
public class test {
    @Autowired
    MailService mailService;

    @RequestMapping("testmail")
    public void testmail() {
    	//java邮件内容需要换行的话使用\n;
    	String title="邮件标题文字",content="",tomail="xxxxx@139.com";
		content="尊敬的xxx您好:\n";
		content+="次邮件内容为测试,详情如下:\n";
        mailService.sendSimpleMail(title, content, tomail);//这里以普通文本邮件为例,带附件邮件同理
    }
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dlei东

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值