package com.zy.acs.manager.common.service; import com.alibaba.fastjson.JSON; import com.zy.acs.common.utils.Utils; import com.zy.acs.framework.common.Cools; import com.zy.acs.manager.system.enums.EmailType; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; @Slf4j @Service public class EmailService { private static final String EMAIL_REGEX = "^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$"; // @Value("${spring.mail.username}") private String from; // @Autowired // @SuppressWarnings("all") // private JavaMailSender mailSender; public boolean sendEmail(String to, EmailType emailType, Map param) { String subject = emailType.subject; String content = emailType.content; if (!Cools.isEmpty(param) && !param.isEmpty()) { content = Utils.processTemplate(content, param); } boolean sendRes = this.send(this.from, to, subject, content); if (sendRes) { log.info("Email sent successfully. To: {}, Subject: {}, Parameter: {}" , to , subject , JSON.toJSONString(param)); } return sendRes; } public boolean send(String from, String to, String subject, String content) { // try { // MimeMessage message = mailSender.createMimeMessage(); // message.setFrom(from); // // MimeMessageHelper helper = new MimeMessageHelper(message, true); // helper.setTo(to); // helper.setSubject(subject); // helper.setText(content); // // mailSender.send(message); // return true; // } catch (MailException | MessagingException e) { // log.error(this.getClass().getSimpleName(), e); // return false; // } return true; } public boolean isValid(String email) { if (Cools.isEmpty(email)) { return false; } Pattern pattern = Pattern.compile(EMAIL_REGEX); Matcher matcher = pattern.matcher(email); return matcher.matches(); } }