You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

56 lines
1.6 KiB

package cc.bnblogs.common;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.util.Date;
/**
* @author zfp@bnblogs.cc
* @createTime: 2022/10/22
*/
@Slf4j
@Component
public class MailHelper {
@Value("${spring.mail.username}")
private String from;
private final JavaMailSender javaMailSender;
public MailHelper(JavaMailSender javaMailSender) {
this.javaMailSender = javaMailSender;
}
/**
* 发送邮件
* @param toSend 收件人(目标邮箱)
* @param subject 主题
* @param text 内容
*/
@Async
public void sendMail(String toSend, String subject, String text) {
MimeMessage message = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message);
try {
//设置发件时间
helper.setSentDate(new Date());
// 发件人(配置文件中的邮箱)
helper.setFrom(from);
//设置收件人
helper.setTo(toSend);
//设置标签
helper.setSubject(subject);
//设置内容
helper.setText(text, true);
//发邮件
javaMailSender.send(message);
} catch (MessagingException e) {
log.error(e.getMessage(), e);
}
}
}