package com.example.demo.utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;
@Service
public class MailUtils {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Value("${spring.mail.username}")
private String from;
@Autowired
private JavaMailSender mailSender;
/**
* 简单文本邮件
* @param to 接收者邮件
* @param subject 邮件主题
* @param contnet 邮件内容
*/
public void sendSimpleMail(String to, String subject, String contnet){
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to);
message.setSubject(subject);
message.setText(contnet);
message.setFrom(from);
mailSender.send(message);
}
/**
* HTML 文本邮件
* @param to 接收者邮件
* @param subject 邮件主题
* @param contnet HTML内容
* @throws MessagingException
*/
public void sendHtmlMail(String to, String subject, String contnet) throws MessagingException {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(contnet, true);
helper.setFrom(from);
mailSender.send(message);
}
/**
* 附件邮件
* @param to 接收者邮件
* @param subject 邮件主题
* @param contnet HTML内容
* @param filePath 附件路径
* @throws MessagingException
*/
public void sendAttachmentsMail(String to, String subject, String contnet,
String filePath) throws MessagingException {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(contnet, true);
helper.setFrom(from);
FileSystemResource file = new FileSystemResource(new File(filePath));
String fileName = file.getFilename();
helper.addAttachment(fileName, file);
mailSender.send(message);
}
/**
* 图片邮件
* @param to 接收者邮件
* @param subject 邮件主题
* @param contnet HTML内容
* @param rscPath 图片路径
* @param rscId 图片ID
* @throws MessagingException
*/
public void sendInlinkResourceMail(String to, String subject, String contnet,
String rscPath, String rscId) {
logger.info("发送静态邮件开始: {},{},{},{},{}", to, subject, contnet, rscPath, rscId);
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = null;
try {
helper = new MimeMessageHelper(message, true);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(contnet, true);
helper.setFrom(from);
FileSystemResource res = new FileSystemResource(new File(rscPath));
helper.addInline(rscId, res);
mailSender.send(message);
logger.info("发送静态邮件成功!");
} catch (MessagingException e) {
logger.info("发送静态邮件失败: ", e);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
【源码】实现邮箱发送验证码.zip
共81个文件
xml:72个
java:6个
properties:1个
需积分: 0 12 下载量 146 浏览量
2020-07-12
17:29:41
上传
评论
收藏 42KB ZIP 举报
温馨提示
用到的技术有:ajax,springboot,redis,JedisPool,jedis,mail,JavaMailSender等。其中redis数据库来用存储缓存验证码有效的数据,ajax是前端页面的传参。详细敬请再看源码。(注:详细介绍、配置与操作,请看博主的《简单实现邮箱发送验证码》博客。)
资源推荐
资源详情
资源评论
收起资源包目录
邮箱发送验证码--nanfangzhe.zip (81个子文件)
nanfangzhe
src
main
resources
templates
static
main.html 3KB
application.properties 1KB
java
com
example
demo
controller
HomeController.java 2KB
DemoApplication.java 317B
utils
JedisUtils.java 1KB
MailUtils.java 4KB
config
RedisCacheConfiguration.java 2KB
test
java
com
example
demo
DemoApplicationTests.java 215B
pom.xml 2KB
.idea
misc.xml 390B
encodings.xml 191B
libraries
Maven__org_springframework_spring_beans_5_2_7_RELEASE.xml 647B
Maven__com_fasterxml_jackson_core_jackson_databind_2_11_0.xml 654B
Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml 657B
Maven__org_springframework_boot_spring_boot_2_3_1_RELEASE.xml 660B
Maven__org_junit_jupiter_junit_jupiter_5_6_2.xml 590B
Maven__org_ow2_asm_asm_5_0_4.xml 496B
Maven__org_skyscreamer_jsonassert_1_5_0.xml 561B
Maven__net_minidev_accessors_smart_1_2.xml 566B
Maven__redis_clients_jedis_3_3_0.xml 518B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_11_0.xml 705B
Maven__org_springframework_spring_context_5_2_7_RELEASE.xml 661B
Maven__org_springframework_spring_jcl_5_2_7_RELEASE.xml 633B
Maven__net_bytebuddy_byte_buddy_agent_1_10_11.xml 609B
Maven__org_springframework_spring_test_5_2_7_RELEASE.xml 640B
Maven__org_apache_commons_commons_pool2_2_8_0.xml 594B
Maven__com_fasterxml_jackson_core_jackson_core_2_11_0.xml 626B
Maven__ch_qos_logback_logback_core_1_2_3.xml 571B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_3_1_RELEASE.xml 793B
Maven__org_junit_platform_junit_platform_commons_1_6_2.xml 657B
Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml 635B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_3_1_RELEASE.xml 765B
Maven__org_springframework_spring_core_5_2_7_RELEASE.xml 640B
Maven__net_bytebuddy_byte_buddy_1_10_11.xml 567B
Maven__org_junit_jupiter_junit_jupiter_params_5_6_2.xml 639B
Maven__org_springframework_spring_web_5_2_7_RELEASE.xml 633B
Maven__org_junit_platform_junit_platform_engine_1_6_2.xml 650B
Maven__org_objenesis_objenesis_2_6.xml 532B
Maven__org_junit_jupiter_junit_jupiter_api_5_6_2.xml 618B
Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml 657B
Maven__org_yaml_snakeyaml_1_26.xml 519B
Maven__org_springframework_spring_expression_5_2_7_RELEASE.xml 682B
Maven__org_glassfish_jakarta_el_3_0_3.xml 553B
Maven__net_minidev_json_smart_2_3.xml 531B
Maven__com_jayway_jsonpath_json_path_2_4_0.xml 570B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 724B
Maven__org_springframework_spring_webmvc_5_2_7_RELEASE.xml 654B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_11_0.xml 675B
Maven__ch_qos_logback_logback_classic_1_2_3.xml 592B
Maven__org_springframework_boot_spring_boot_test_2_3_1_RELEASE.xml 695B
Maven__org_assertj_assertj_core_3_16_1.xml 566B
Maven__org_apache_logging_log4j_log4j_to_slf4j_2_13_3.xml 632B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_3_1_RELEASE.xml 758B
Maven__org_springframework_boot_spring_boot_starter_test_2_3_1_RELEASE.xml 751B
Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_36.xml 649B
Maven__org_springframework_boot_spring_boot_starter_web_2_3_1_RELEASE.xml 744B
Maven__org_junit_jupiter_junit_jupiter_engine_5_6_2.xml 639B
Maven__org_springframework_boot_spring_boot_starter_logging_2_3_1_RELEASE.xml 772B
Maven__org_slf4j_slf4j_api_1_7_30.xml 537B
Maven__org_apiguardian_apiguardian_api_1_1_0.xml 596B
Maven__com_sun_mail_jakarta_mail_1_6_5.xml 563B
Maven__com_sun_activation_jakarta_activation_1_2_2.xml 629B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_11_0.xml 760B
Maven__org_springframework_boot_spring_boot_starter_json_2_3_1_RELEASE.xml 751B
Maven__org_hamcrest_hamcrest_2_2.xml 521B
Maven__org_mockito_mockito_junit_jupiter_3_3_3.xml 622B
Maven__org_springframework_boot_spring_boot_starter_2_3_1_RELEASE.xml 716B
Maven__org_opentest4j_opentest4j_1_2_0.xml 557B
Maven__org_xmlunit_xmlunit_core_2_7_0.xml 559B
Maven__org_springframework_spring_aop_5_2_7_RELEASE.xml 633B
Maven__org_springframework_boot_spring_boot_starter_mail_2_3_1_RELEASE.xml 751B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_36.xml 684B
Maven__org_springframework_spring_context_support_5_2_7_RELEASE.xml 717B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_11_0.xml 719B
Maven__org_slf4j_jul_to_slf4j_1_7_30.xml 558B
Maven__org_mockito_mockito_core_3_3_3.xml 559B
Maven__org_apache_logging_log4j_log4j_api_2_13_3.xml 597B
workspace.xml 5KB
compiler.xml 803B
.name 4B
modules.xml 255B
共 81 条
- 1
资源评论
南方者
- 粉丝: 3w+
- 资源: 39
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功