Springboot郵箱群發(fā)郵件

  

今天一米軟件來給大家分享一下Springboot郵箱群發(fā)郵件的代碼,希望對大家能有所幫助。


Springboot郵箱群發(fā)郵件


1:pom.xml 引入jar


org.springframework.boot

spring-boot-starter-mail


2:在application.properties中設(shè)置郵箱的信息(126郵箱),springboot會自動讀取;也可以保存到數(shù)據(jù)庫中,使用時候讀取,稍后講解。需要給郵箱開啟授權(quán)登錄,不了解的可以百度一下,這里就不在展開


spring.mail.default-encoding=UTF-8

spring.mail.host=smtp.126.com

spring.mail.password=授權(quán)密碼(不是登錄郵箱的密碼)

spring.mail.port=25

spring.mail.protocol=smtp

spring.mail.username=用戶名


3:郵箱發(fā)送Controller(簡單的demo,就不寫service了),發(fā)送給一個用戶


@RestController

@RequestMapping("mail")

public class Controller {

@Autowired

JavaMailSender jms; //這是個接口,從配置文件里面讀取郵箱設(shè)置的相關(guān)信息,值發(fā)送給一個用戶

@GetMapping("/send")

public void send(){

//建立郵件消息

SimpleMailMessage mainMessage = new SimpleMailMessage();

//發(fā)送者

mainMessage.setFrom("xxxxxx");

//接收者

mainMessage.setTo("xxxxxx");

//發(fā)送的標題

mainMessage.setSubject("嗨嘍");

//發(fā)送的內(nèi)容

mainMessage.setText("hello world");

jms.send(mainMessage);

}

}


4:群發(fā)(發(fā)送給多個用戶),這里需要用到JavaMailSender 接口的實現(xiàn)類JavaMailSenderImpl,實現(xiàn)類不會從配置文件里面讀取信息,需要自己設(shè)置。在springboot context中,也沒有這個bean實例,如果需要通過注入的方式,需要自己配置這個bean實例,也可以不用注入的方式直接new一個實例。


@GetMapping("/mail")

public void sendSimpleMail() throws Exception {

JavaMailSenderImpl mailSender = new JavaMailSenderImpl();//直接生產(chǎn)一個實例

String users[] = {"xxxxx@qq.com","xxxxx@126.com"};

mailSender.setHost("smtp.126.com");

mailSender.setPassword("xxxxx");

mailSender.setPort(25);

mailSender.setProtocol("smtp");

mailSender.setUsername("xxxxx");

SimpleMailMessage message = new SimpleMailMessage();

message.setFrom("xxxxxxx");

message.setTo(users); // 群發(fā)

message.setSubject("羽毛球比賽");

message.setText("報名參加羽毛球賽");

mailSender.send(message);

}


Notes:

1:發(fā)送郵件可能會觸發(fā)發(fā)垃圾郵件規(guī)則,所以在接受不能郵件時,可以修改主題和內(nèi)容,或者換個賬號.


2:注意配置文件里面郵件信息上,不能有空格(啟動發(fā)生錯誤時應(yīng)檢查)

相關(guān)資訊

推薦軟件