五、springboot 简单优雅是实现邮件服务

本文介绍了如何在SpringBoot中实现邮件服务,包括发送简单邮件、创建MailService和MailController以及测试邮件发送。还展示了如何发送包含附件的邮件,使用MimeMessage和MimeMessageHelper进行更复杂的邮件操作。

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

@Service

@Slf4j

public class MailServiceImpl implements MailService{

@Autowired

private JavaMailSender mailSender;

@Value(“${mail.from}”)

private String mailFrom;

@Override

public void sendSimpleMail(String mailTo) {

SimpleMailMessage message=new SimpleMailMessage();

message.setFrom(mailFrom);

message.setTo(mailTo);

message.setSubject(“simple mail”);

message.setText(“hello world”);

mailSender.send(message);

log.info(“邮件已经发送”);

}

}

这里我们就先简单的测试一下看看邮件能不能发送。mailFrom 是发件人,mailTo 是收件人。message.setSubject()设置邮件主题。message.setText()设置邮件内容。

mailSender.send(message)是发送短信。

[](()controller层

==========================================================================

我们创建一个MailController类。代码如下:

@RestController

@RequestMapping(“/mail”)

public class MailController {

@Autowired

private MailService mailService;

@RequestMapping(value = “/send”,method = RequestMethod.GET)

public String sendMail(@RequestParam(value = “userName”)String userName){

mailService.sendSimpleMail(userName);

return “success”;

}

}

可以看到就一个发送的接口。很简单,参数传过来接收人的邮箱就好了。

[](()测试

=================================================================

到此为止,我们邮件服务的demo 就已经搭建好了。我们接下来测试测试一下。我们启动项目。然后调接口

http://localhost:9090/zlflovemm/mail/send?userName=1303123974@qq.com

file

提示已经发送成功啦,我们进邮箱看下我们发送情况。可以看到是发送成功了。所以说明我们的邮件服务搭建成功了。

file

所以现在看来,springboot 集成邮件服务是非常简单的,配置邮件服务器,就可以直接使用啦。

[](()发送附件

==================== 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 ===============================================

有时候我们发送邮件不仅仅发送内容,还需要发送附件,那怎么实现呢。其实也很简单。那些配置还是不变。我们在service 层。写一个sendMail方法。如下

@Override

public void sendMail(String mailTo) {

MimeMessage message=mailSender.createMimeMessage();

MimeMessageHelper helper = null;

try {

helper = new MimeMessageHelper(message, true);

helper.setFrom(mailFrom);

helper.setTo(mailTo);

helper.setSubject(“simple mail”);

helper.setText(“hello world”, true);

FileSystemResource file = new FileSystemResource(new File(“E:\myself\test.xls”));

String fileName = file.getFilename();

helper.addAttachment(fileName, file);

mailSender.send(message);

log.info(“邮件已经发送”);

} catch (MessagingException e) {

log.error(“{}”,e);

}

}

可以看到和我们开始测试的时候,有一点不同。这里先

MimeMessage message=mailSender.createMimeMessage();

MimeMessage 比 SimpleMailMessage 功能更强大,可以发送附件,也可以将内容转成html 格式发送。所以一般实际使用的时候都使用MimeMessage。

另外发送附件,还需要借助MimeMessageHelper 。MimeMessageHelper是辅助MimeMessage的。

helper.setFrom(mailFrom);

helper.setTo(mailTo);

helper.setSubject(“simple mail”);

helper.setText(“hello world”, true);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值