springboot定时器 ,Java中接口的使用你得知道
-
@Date 2021/6/22 13:55 @Description :
*/
public interface MailService {
/** * 发送邮件 * @param mailDto d */ void send(MailDto mailDto);
}
import com.zh.wit.sendMail.dto.MailDto;
import com.zh.wit.sendMail.service.MailService;
import lombok.RequiredArgsConstructor;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
/**
-
@Author YMG @Date 2021/6/22 13:57 @Description :
*/
@Service
@RequiredArgsConstructor
@Component
public class MailServiceImpl implements MailService {
private final MailSender mailSender; @Override public void send(MailDto mailDto) { // new 一个简单邮件消息对象 SimpleMailMessage message = new SimpleMailMessage(); // 和配置文件中的的username相同,相当于发送方(配置文件在下properties) message.setFrom("ymg@163.com"); // 收件人邮箱 message.setBcc(mailDto.getMail()); //抄送人 message.setCc("ymg@163.com"); message.setSubject(mailDto.getTitle()); // 正文 message.setText(mailDto.getContent()); // 发送 mailSender.send(message); }
}
④配置application.properties
server.port=9029
#邮件配置
spring.mail.host=smtp.163.com
#发送邮件的邮箱(自己邮箱)
spring.mail.username=ymg@163.com
#第一步页面配置得到的授权密码
spring.mail.password=EXIPENWAJYHERYDX
spring.mail.default-encoding=UTF-8
#(注意!!!以上配置,本地默认25端口访问邮箱服务器,如果需要放到服务器上,必须添加如下配置,用465端口访问才能访问到邮箱服务器)
#登录服务器是否需要认证
spring.mail.properties.mail.smtp.auth=true
#SSL证书Socket工厂
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
#使用SMTPS协议465端口
spring.mail.properties.mail.smtp.socketFactory.port=465
⑤编写定时器执行的方法,不要问为什么写controller,因为前期好测试,使用定时器的话,主程序启动千万别忘了配置
@EnableScheduling注解(启动项目加载定时器)