封装的代码:
/**
* @Description: 对发送日志进行封装,方便使用。为什么叫client。
* 因为他把发邮件的事委托给qq邮箱去做,就相当于客户端要求服务器去做
* @Author: cjh
* @data: Version 1.0
*/
@Component
public class MailClient {
private static final Logger logger = LoggerFactory.getLogger(MailClient.class);
@Autowired
private JavaMailSender mailSender;
/**
* 发邮件的人
*/
@Value("${spring.mail.username}")
private String from;
public void sendMail(String to,String subject,String content){
try {
//创建一个模板,自己往里面填
MimeMessage mimeMessage = mailSender.createMimeMessage();
//帮助我们构建里面的内容
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage);
mimeMessageHelper.setFrom(from);
mimeMessageHelper.setTo(to);
mimeMessageHelper.setSubject(subject);
//加上true,就可以发送html内容了。不只是文本
mimeMessageHelper.setText(content,true);
mailSender.send(mimeMessageHelper.getMimeMessage());
} catch (MessagingException e) {
logger.error("发送邮件失败:"+e.getMessage());
}
}
}
测试代码:
@RunWith(SpringRunner.class)
@SpringBootTest
@ContextConfiguration(classes = CommunityApplication.class)
public class MailTest {
@Autowired
private MailClient mailClient;
@Test
public void testTextMail(){
mailClient.sendMail("1506045619@qq.com","test","test mail send!");
}
}
下面这个测试,可以在不是mvc的情况下,通过dispatchservlet调用html渲染并返回。 这样就返回html的了