package com.seecoder.service.impl; import com.seecoder.service.MessageService; import com.seecoder.thirdParty.AliService; import lombok.AllArgsConstructor; import org.springframework.core.env.Environment; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; import javax.mail.internet.MimeMessage; import java.util.Date; import java.util.Objects; import java.util.Set; @Service @AllArgsConstructor public class MessageServiceImpl implements MessageService { private final JavaMailSender javaMailSender; private final Environment environment; private final AliService aliService; @Override public void sendMail(Set receivers, String subject, String text, Boolean isHtml) { MimeMessage message = javaMailSender.createMimeMessage(); try{ MimeMessageHelper helper = new MimeMessageHelper(message,false); helper.setSubject(subject); helper.setFrom(Objects.requireNonNull(environment.getProperty("spring.mail.username"))); helper.setTo(receivers.toArray(new String[0])); helper.setSentDate(new Date()); helper.setText(text, isHtml == null || isHtml); // 发送邮件 javaMailSender.send(message); }catch (Exception e){ throw new RuntimeException(e); } } @Override public void sendByPhone(String phone, String text) { aliService.sendMessage(phone,text); } }