郵件任務-springboot

郵件任務-springboot

springboot可以很容易實現郵件的發送

具體實現步驟:

  1. 導入jar包
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
    <version>2.5.2</version>
</dependency>
  1. 獲取qq郵箱的POP3/SMTP服務,獲取加密的密碼,並編寫springboot的配置文件
[email protected] #QQ號不是我的哦
spring.mail.password=gzcmhxxybgvbcjil #這裡就是加密的密碼
spring.mail.host=smtp.qq.com
spring.mail.properties.mail.smtp.ssl.enable=true #這一步是開啟加密驗證
  1. 在測試類中進行測試
@SpringBootTest
class Sprintboot09TestApplicationTests {

    @Autowired
    JavaMailSenderImpl mailSender;
    @Test
    void contextLoads() {
        SimpleMailMessage mailMessage = new SimpleMailMessage();
        mailMessage.setSubject("你好呀");
        mailMessage.setText("謝謝你");
        mailMessage.setTo("[email protected]");
        mailMessage.setFrom("[email protected]");
        mailSender.send(mailMessage);
    }

}

然後就發送成功了,你的qq郵箱就會收到你自己發送的資訊,這裡是非常有成就感的哦!!!

重點:在我測試中一直有bug,找了近半個小時才找到,結果就是我們springboot配置文件多打了一個空格,肉眼都無法看到,這種錯誤,屬實找的好辛苦,一度懷疑是jar包版本或qq郵箱的問題,結果是多慮了。今後一定要注意springboot配置文件的空格問題!!!


複雜的郵件發送

@Test
void contextLoads2() throws MessagingException {
    //一個複雜的郵件
    MimeMessage mimeMessage = mailSender.createMimeMessage();
    //組裝
    MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
    //正文
    helper.setSubject("小狂神你好呀~plus");
    helper.setText("<p style='color:red'>謝謝你的狂神說java系列課程~</P>",true);
    //附件
    helper.addAttachment("1.jpg",new File("C:\\Users\\86187\\Desktop\\1.jpg"));
    helper.setTo("[email protected]");
    helper.setFrom("[email protected]");
    mailSender.send(mimeMessage);
}

和剛才那個簡單一點的道理是一樣的!!!

郵件任務到這就結束了。

Tags: