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
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); |
|
} |
|
} |
|
}
|
|
|