标签:SpringDataJPA SpringBoot spring private simpleMailMessage mail Mail public subje
又是新的一年,发qq祝福、微信祝福给好友都太捞了,不如整点新颖的活,给好友们发祝福邮件,一来闲着没事打发时间,二来也是为了zb。下边是代码,仅供参考:
1.依赖
<dependencies>
<!--支持jpa-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--支持web-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--jdbc-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
<!--邮件服务-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.3</version>
</dependency>
<!--日志-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
</dependencies>
2.application.properties
server.port=8888
#jdbc
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/daily?useUnicode=true
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#邮箱的账号
spring.mail.host= smtp.qq.com
spring.mail.username=xx@qq.com
spring.mail.password=xxxxxxx(非qq密码获取方式请百度)
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.starttls.enable=true
spring.mail.properties.mail.starttls.required=true
3.Controller
@RestController
@RequestMapping("/email")
public class SendEmailController {
private static Logger logger = LoggerFactory.getLogger(SendEmailController.class);
@Autowired
private SendEmailService sendEmailService;
@Autowired
private UserService userService;
/**
* 邮件调用
*/
@RequestMapping(value = "/simpleEmail", method = {RequestMethod.GET})
public RspResult sendSimpleEmail(HttpServletRequest request) {
RspResult rspResult = new RspResult();
//去库中取用户邮箱
List<User> userList = userService.findAll();
System.out.println(userList.size());
userList.forEach(user -> {
sendEmailService.sendSimpleMail(user.getEmail(), "新年祝福", "可可爱的"+user.getUserName()+":新年快乐,新的一年里顺顺利利,发大财哦!最近出去记得戴口罩哦~");
});
rspResult.setStatus(200);
rspResult.setMsg("调用成功");
return rspResult;
}
}
4.service
@Service
public class SendEmailService {
private static Logger logger = LoggerFactory.getLogger(SendEmailService.class);
@Autowired
private JavaMailSender sender;
@Value("${spring.mail.username}")
private String fromMail;
/**
* 发送普通邮件
*
* @param toMail 收件方
* @param subject 标题
* @param content 邮件内容
*/
public void sendSimpleMail(String toMail, String subject, String content) {
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setFrom(fromMail);
simpleMailMessage.setTo(toMail);
simpleMailMessage.setSubject(subject);
simpleMailMessage.setText(content);
try {
sender.send(simpleMailMessage);
logger.info("发送给:{} 邮件已经发送。 subject:{}", toMail, subject);
} catch (Exception e) {
logger.info("发送给:{} send mail error subject:{}", toMail, subject);
e.printStackTrace();
}
}
}
5.dao
@Repository
public interface UserDao extends JpaRepository<User,Integer> {
public List<User> findAll();
}
6.pojo
@Data
@Entity
@Table(name = "user")
@NoArgsConstructor
@AllArgsConstructor
public class User {
@Id
private Integer id;
@Column(name = "username",nullable = false)
private String userName;
@Column(name = "email",nullable = false)
private String Email;
}
7.数据库表结构
Create Table
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) DEFAULT NULL,
`email` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8
启动程序后,在浏览器总输入:http://localhost:8888/email/simpleEmai 即可开启程序。
以上是代码的主要部分,源码已经上传github:https://github.com/Upzzh/newYearWish
仅供参考。
希望病毒赶紧退散,
标签:SpringDataJPA,SpringBoot,spring,private,simpleMailMessage,mail,Mail,public,subje 来源: https://blog.csdn.net/weixin_41532316/article/details/104112647
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。