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
#邮件配置
#邮箱服务器地址,如果是QQ邮箱--->(smtp.qq.com)
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注解(启动项目加载定时器)
import com.zh.wit.bo.CommonResult;
import com.zh.wit.bo.RestResult;
import com.zh.wit.sendMa