您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么實現java spring-boot-starter-mail發送郵件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么實現java spring-boot-starter-mail發送郵件”吧!
import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; @Service @Slf4j public class MonitorService { @Autowired private MonitorDao monitorDao; @Autowired private JavaMailSender mailSender; static boolean isSend = false; private void sendMail() throws MessagingException { MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); //發件人 helper.setFrom("241947457@qq.com"); //收件人 String[] to = new String[]{"11@11.com", "22@22.com"}; helper.setTo(to); //標題 helper.setSubject("130.51.23.249MyCat故障"); //文本 helper.setText("130.51.23.249 Mycat 故障,請盡快去看看。"); //附件 // helper.addAttachment("downFile",new File("D:\\cygwin64\\home\\workspace3\\learn-demo\\zookeeper\\src\\test\\java\\com\\tzxylao\\design\\ZookeeperApplicationTests.java")); mailSender.send(mimeMessage); } public int monitor() { try { Byte b = monitorDao.select(); return b; } catch (Exception e) { log.error("heartbeat error!"); try { if (!isSend) { sendMail(); log.info("send mail ok!"); isSend = true; } } catch (MessagingException e1) { log.error("send mail error!", e); } } return 0; } } import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; @Repository public class MonitorDao { @Autowired private JdbcTemplate jdbcTemplate; public Byte select() { String sql = "SELECT 1"; Byte result = jdbcTemplate.queryForObject(sql, Byte.class); return result; } } # 設置郵箱主機 spring.mail.host=smtp.qq.com # 設置用戶名 spring.mail.username=241947457@qq.com # 設置密碼,該處的密碼是QQ郵箱開啟SMTP的授權碼而非QQ密碼 spring.mail.password=hxfpwaxswloscb11 # 設置是否需要認證,如果為true,那么用戶名和密碼就必須的, # 如果設置false,可以不設置用戶名和密碼,當然也得看你的對接的平臺是否支持無密碼進行訪問的。 spring.mail.properties.mail.smtp.auth=true # STARTTLS[1] 是對純文本通信協議的擴展。它提供一種方式將純文本連接升級為加密連接(TLS或SSL),而不是另外使用一個端口作加密通信。 spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.starttls.required=true mail.from=${spring.mail.username} <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.7.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
到此,相信大家對“怎么實現java spring-boot-starter-mail發送郵件”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。