您好,登錄后才能下訂單哦!
這篇文章主要講解了“SpringBoot怎么實現(xiàn)發(fā)送QQ郵件”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“SpringBoot怎么實現(xiàn)發(fā)送QQ郵件”吧!
如果是Spring Boot應(yīng)用不需要指定版本號了
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
如下配置
在配置前獲取QQ郵箱授權(quán)碼;QQ郵件在Spring的Bean中密碼為授權(quán)碼。
@Configuration public class MailConfig { @Bean public JavaMailSender getJavaMailSender() { JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); // mailSender.setHost("smtp.gmail.com"); mailSender.setHost("smtp.qq.com"); mailSender.setPort(587); mailSender.setUsername("aihehe123@foxmail.com"); mailSender.setPassword("這里是QQ郵箱的授權(quán)碼"); Properties props = mailSender.getJavaMailProperties(); props.put("mail.transport.protocol", "smtp"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.debug", "true"); return mailSender; } }
發(fā)送普通文本
SimpleMailMessage simpleMessage = new SimpleMailMessage(); simpleMessage.setFrom("aihehe123@foxmail.com"); simpleMessage.setTo("aihehe123@foxmail.com"); simpleMessage.setSubject("test"); simpleMessage.setText("hello"); javaMailSender.send(simpleMessage);
發(fā)送帶附件的文本
MimeMessage message = javaMailSender.createMimeMessage(); MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(message, true); mimeMessageHelper.setFrom("aihehe123@foxmail.com"); mimeMessageHelper.setTo("aihehe123@foxmail.com"); mimeMessageHelper.setSubject("test"); mimeMessageHelper.setText("hello"); String path = "http://gif.aihe.space/dd467677ea35485da3d12326fcf36e5d.gif"; UrlResource fileUrlResource = new UrlResource(path); mimeMessageHelper.addAttachment(UrlUtils.parseUrlName(path), fileUrlResource); javaMailSender.send(message);
前兩個郵件是帶附件的,最下面一個是不帶附件的;
1、配置發(fā)送郵件的模板
public class MailUtils { public static SimpleMailMessage makeSimpleMessage(String subject,String text){ SimpleMailMessage simpleMessage = new SimpleMailMessage(); simpleMessage.setFrom("aihehe123@foxmail.com"); simpleMessage.setTo("aihehe123@foxmail.com"); simpleMessage.setSubject(subject); simpleMessage.setText(text); return simpleMessage; } }
2、應(yīng)用啟動通知
@Component @Slf4j public class ApplicationStartHandler implements ApplicationListener<ContextRefreshedEvent> { @Autowired JavaMailSender javaMailSender; @Override public void onApplicationEvent(ContextRefreshedEvent event) { javaMailSender.send(MailUtils.makeSimpleMessage("應(yīng)用啟動通知","")); log.info("app start mail sended"); } }
3、應(yīng)用停止通知;
public class XXXApplication { @Autowired JavaMailSender javaMailSender; public static void main(String[] args) { SpringApplication.run(XXXApplication.class, args); } @PreDestroy public void onExit() { log.info("###STOPing###"); javaMailSender.send(MailUtils.makeSimpleMessage("應(yīng)用停止通知", "")); log.info("###STOP FROM THE LIFECYCLE###"); } }
感謝各位的閱讀,以上就是“SpringBoot怎么實現(xiàn)發(fā)送QQ郵件”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對SpringBoot怎么實現(xiàn)發(fā)送QQ郵件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。