| | |
| | | package org.springblade.modules.email.service.impl; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.springblade.modules.email.config.MailProperties; |
| | | import org.springblade.modules.email.config.MailSenderConfig; |
| | | import org.springblade.modules.email.entity.EmailAccount; |
| | | import org.springblade.modules.email.service.IEmailAccountService; |
| | | import org.springblade.modules.messageRecord.entity.MessageUser; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.mail.javamail.JavaMailSender; |
| | | import org.springframework.mail.javamail.JavaMailSenderImpl; |
| | |
| | | import javax.annotation.Resource; |
| | | import javax.mail.MessagingException; |
| | | import javax.mail.internet.MimeMessage; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | | @Slf4j |
| | |
| | | |
| | | @Override |
| | | public void senderEmail(EmailAccount account) { |
| | | log.info(Thread.currentThread().getName()); |
| | | JavaMailSenderImpl javaMailSender = senderConfig.getSender(); |
| | | //一个复杂的邮件 |
| | | MimeMessage message = javaMailSender.createMimeMessage(); |
| | | try { |
| | | //组装 |
| | | MimeMessageHelper helper = new MimeMessageHelper(message, true); |
| | | |
| | | //主题(标题) |
| | | helper.setSubject(account.getSubject()); |
| | | if (account.getEmails().size()>0){ |
| | | log.info(Thread.currentThread().getName()); |
| | | JavaMailSenderImpl javaMailSender = senderConfig.getSender(); |
| | | //一个复杂的邮件 |
| | | MimeMessage message = javaMailSender.createMimeMessage(); |
| | | try { |
| | | //组装 |
| | | MimeMessageHelper helper = new MimeMessageHelper(message, true); |
| | | |
| | | helper.setText(account.getContent(),true); |
| | | //主题(标题) |
| | | helper.setSubject(account.getSubject()); |
| | | |
| | | helper.setTo(account.getEmails().toArray(new String[account.getEmails().size()])); |
| | | helper.setText(account.getContent(),true); |
| | | |
| | | helper.setFrom(javaMailSender.getUsername()); |
| | | helper.setTo(account.getEmails().toArray(new String[account.getEmails().size()])); |
| | | |
| | | javaMailSender.send(message); |
| | | helper.setFrom(javaMailSender.getUsername()); |
| | | |
| | | } catch (MessagingException e) { |
| | | e.printStackTrace(); |
| | | javaMailSender.send(message); |
| | | |
| | | } catch (MessagingException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void sendMessageUserEmail(String title, String content, List<MessageUser> messageUserList) { |
| | | |
| | | List<String> emails = messageUserList.stream().filter(e -> StringUtil.isNotBlank(e.getEmail())).map(MessageUser::getEmail).collect(Collectors.toList()); |
| | | |
| | | EmailAccount emailAccount = new EmailAccount(); |
| | | |
| | | emailAccount.setEmails(emails); |
| | | emailAccount.setSubject(title); |
| | | emailAccount.setContent(content); |
| | | |
| | | senderEmail(emailAccount); |
| | | } |
| | | } |