MessageServiceImpl.java 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package com.seecoder.service.impl;
  2. import com.seecoder.service.MessageService;
  3. import com.seecoder.thirdParty.AliService;
  4. import lombok.AllArgsConstructor;
  5. import org.springframework.core.env.Environment;
  6. import org.springframework.mail.SimpleMailMessage;
  7. import org.springframework.mail.javamail.JavaMailSender;
  8. import org.springframework.mail.javamail.MimeMessageHelper;
  9. import org.springframework.stereotype.Service;
  10. import javax.mail.internet.MimeMessage;
  11. import java.util.Date;
  12. import java.util.Objects;
  13. import java.util.Set;
  14. @Service
  15. @AllArgsConstructor
  16. public class MessageServiceImpl implements MessageService {
  17. private final JavaMailSender javaMailSender;
  18. private final Environment environment;
  19. private final AliService aliService;
  20. @Override
  21. public void sendMail(Set<String> receivers, String subject, String text, Boolean isHtml) {
  22. MimeMessage message = javaMailSender.createMimeMessage();
  23. try{
  24. MimeMessageHelper helper = new MimeMessageHelper(message,false);
  25. helper.setSubject(subject);
  26. helper.setFrom(Objects.requireNonNull(environment.getProperty("spring.mail.username")));
  27. helper.setTo(receivers.toArray(new String[0]));
  28. helper.setSentDate(new Date());
  29. helper.setText(text, isHtml == null || isHtml);
  30. // 发送邮件
  31. javaMailSender.send(message);
  32. }catch (Exception e){
  33. throw new RuntimeException(e);
  34. }
  35. }
  36. @Override
  37. public void sendByPhone(String phone, String text) {
  38. aliService.sendMessage(phone,text);
  39. }
  40. }