当前位置: 首页 > wzjs >正文

新锐媒体网站建设方案seo技术培训泰州

新锐媒体网站建设方案,seo技术培训泰州,常见的动态网站开发工具,招牌做的好的网站有哪些1、获取邮箱授权码 以QQ邮箱为例&#xff0c;登录QQ邮箱网页版后&#xff0c;点击进入"设置"-"安全设置"选项。 2、集成JavaMail 官方文档&#xff1a;https://docs.spring.io/spring-framework/reference/integration/email.html 2.1、引入依赖 <de…

1、获取邮箱授权码

以QQ邮箱为例,登录QQ邮箱网页版后,点击进入"设置"-"安全设置"选项。

2、集成JavaMail 

官方文档:https://docs.spring.io/spring-framework/reference/integration/email.html

2.1、引入依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId>
</dependency>

2.2、添加配置

spring:# 邮件配置mail:# 邮件服务器地址host:# 邮件发送者username:# 授权码password:properties:mail:smtp:# 是否启用 SMTP 验证auth: truestarttls:# 是否启用TLS加密enable: true

2.3、创建邮箱对象

@Data
public class Email implements Serializable {private static final long serialVersionUID = 1L;/*** 必填* 邮件接收方*/private String[] to;/*** 必填* 邮件主题*/private String subject;/*** 可选* 邮件内容*/private String text;/*** 可选* 附件路径*/private List<String> filePathList;/*** 可选* 图片路径*/private List<String> imagePathList;}

2.4、邮箱格式校验

public class EmailUtils {// 定义用于匹配大多数有效电子邮件地址的正则表达式private static final String EMAIL_REGEX ="^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$";// 编译正则表达式private static final Pattern emailPattern = Pattern.compile(EMAIL_REGEX);/*** 校验给定的email是否合法* @param email 待校验的电子邮件地址* @return 如果电子邮件地址合法返回true,否则返回false*/public static boolean isValidEmail(String email) {if (email == null) {return false;}Matcher matcher = emailPattern.matcher(email);return matcher.matches();}}

2.5、发送内容为文本的邮件

@Component
public class SendMail {private static final Logger log = LoggerFactory.getLogger(SendMail.class);@Value("${spring.mail.username}")private String from;@Autowiredprivate JavaMailSender javaMailSender;/*** 发送内容为文本的邮件**/public boolean sendSimpleMail(Email email) {try {checkEmail(email);//创建简单邮件消息SimpleMailMessage message = new SimpleMailMessage();//发送人message.setFrom(from);//接收人message.setTo(email.getTo());//邮件主题message.setSubject(email.getSubject());//邮件内容message.setText(email.getText());//发送邮件javaMailSender.send(message);} catch (Exception e) {log.error("邮件发送失败:{}", email, e);return false;}log.error("邮件发送成功:{}", Arrays.toString(email.getTo()));return true;}}

2.6、发送内容为html的邮件

@Component
public class SendMail {private static final Logger log = LoggerFactory.getLogger(SendMail.class);@Value("${spring.mail.username}")private String from;@Autowiredprivate JavaMailSender javaMailSender;/*** 发送内容为html的邮件**/public boolean sendMimeMail(Email email) {try {checkEmail(email);//创建MINE邮件消息MimeMessage message = javaMailSender.createMimeMessage();MimeMessageHelper mineHelper = new MimeMessageHelper(message, true);//发送人mineHelper.setFrom(from);//接收人mineHelper.setTo(email.getTo());//邮件主题mineHelper.setSubject(email.getSubject());//邮件内容,true 表示带有附件或htmlmineHelper.setText(email.getText(),true);//发送邮件javaMailSender.send(message);} catch (Exception e) {log.error("邮件发送失败:{}", email, e);return false;}log.error("邮件发送成功:{}", Arrays.toString(email.getTo()));return true;}}

2.7、发送内容为图片的邮件

内联资源通过使用指定的Content-ID添加到MimeMessage。添加文本和资源的顺序非常重要。一定要先添加文本,然后再添加资源。如果你用另一种方式来做,它是行不通的。

@Component
public class SendMail {private static final Logger log = LoggerFactory.getLogger(SendMail.class);@Value("${spring.mail.username}")private String from;@Autowiredprivate JavaMailSender javaMailSender;/*** 发送内容为图片的邮件**/public boolean sendImageMail(Email email) {try {checkEmail(email);//创建MINE邮件消息MimeMessage message = javaMailSender.createMimeMessage();MimeMessageHelper mineHelper = new MimeMessageHelper(message, true);//发送人mineHelper.setFrom(from);//接收人mineHelper.setTo(email.getTo());//邮件主题mineHelper.setSubject(email.getSubject());if (CollectionUtils.isNotEmpty(email.getImagePathList())) {StringBuilder htmlContent = new StringBuilder();htmlContent.append("<html><body>");for(int i = 0; i < email.getImagePathList().size(); i++){String imagePath = email.getImagePathList().get(i);File file = new File(imagePath);if (!file.exists()) {log.error("图片不存在:{}", imagePath);continue;}String contentId = "identifier" + i;htmlContent.append("<img src='cid:").append(contentId).append("' style='max-width:600px;display:block;margin-bottom:10px;'/>");}htmlContent.append("</body></html>");//邮件内容,true 表示带有附件或htmlmineHelper.setText(htmlContent.toString(),true);for(int i = 0; i < email.getImagePathList().size(); i++){String imagePath = email.getImagePathList().get(i);File file = new File(imagePath);if (!file.exists()) {log.error("图片不存在:{}", imagePath);continue;}//添加内联资源,一个id对应一个资源,最终通过id来找到该资源String contentId = "identifier" + i;FileSystemResource resource = new FileSystemResource(file);mineHelper.addInline(contentId, resource);}}//发送邮件javaMailSender.send(message);} catch (Exception e) {log.error("邮件发送失败:{}", email, e);return false;}log.error("邮件发送成功:{}", Arrays.toString(email.getTo()));return true;}}

2.7、发送内容为文本且包含图片的邮件

@Component
public class SendMail {private static final Logger log = LoggerFactory.getLogger(SendMail.class);@Value("${spring.mail.username}")private String from;@Autowiredprivate JavaMailSender javaMailSender;/*** 发送内容为文本且包含图片的邮件**/public boolean sendTextImageMail(Email email) {try {checkEmail(email);//创建MINE邮件消息MimeMessage message = javaMailSender.createMimeMessage();MimeMessageHelper mineHelper = new MimeMessageHelper(message, true);//发送人mineHelper.setFrom(from);//接收人mineHelper.setTo(email.getTo());//邮件主题mineHelper.setSubject(email.getSubject());if (CollectionUtils.isNotEmpty(email.getImagePathList())) {StringBuilder htmlContent = new StringBuilder();htmlContent.append("<html><body>");htmlContent.append("<div>").append(email.getText()).append("</div>");for(int i = 0; i < email.getImagePathList().size(); i++){String imagePath = email.getImagePathList().get(i);File file = new File(imagePath);if (!file.exists()) {log.error("图片不存在:{}", imagePath);continue;}String contentId = "identifier" + i;htmlContent.append("<img src='cid:").append(contentId).append("' style='max-width:600px;display:block;margin-bottom:10px;'/>");}htmlContent.append("</body></html>");//邮件内容,true 表示带有附件或htmlmineHelper.setText(htmlContent.toString(),true);for(int i = 0; i < email.getImagePathList().size(); i++){String imagePath = email.getImagePathList().get(i);File file = new File(imagePath);if (!file.exists()) {log.error("图片不存在:{}", imagePath);continue;}//添加内联资源,一个id对应一个资源,最终通过id来找到该资源String contentId = "identifier" + i;FileSystemResource resource = new FileSystemResource(file);mineHelper.addInline(contentId, resource);}}else{mineHelper.setText(email.getText());}//发送邮件javaMailSender.send(message);} catch (Exception e) {log.error("邮件发送失败:{}", email, e);return false;}log.error("邮件发送成功:{}", Arrays.toString(email.getTo()));return true;}}

2.8、发送带附件的邮件

@Component
public class SendMail {private static final Logger log = LoggerFactory.getLogger(SendMail.class);@Value("${spring.mail.username}")private String from;@Autowiredprivate JavaMailSender javaMailSender;/*** 发送带附件的邮件* 邮件内容可以为文本或html**/public boolean sendAttachmentMail(Email email) {try {checkEmail(email);//创建MINE邮件消息MimeMessage message = javaMailSender.createMimeMessage();MimeMessageHelper mineHelper = new MimeMessageHelper(message, true);//发送人mineHelper.setFrom(from);//接收人mineHelper.setTo(email.getTo());//邮件主题mineHelper.setSubject(email.getSubject());//邮件内容,true 表示带有附件或htmlmineHelper.setText(email.getText(),true);// 添加附件if (CollectionUtils.isNotEmpty(email.getFilePathList())) {for (String filePath : email.getFilePathList()) {File file = new File(filePath);if (!file.exists()) {log.error("附件不存在:{}", filePath);continue;}FileSystemResource resource = new FileSystemResource(file);mineHelper.addAttachment(Objects.requireNonNull(resource.getFilename()), resource);}}//发送邮件javaMailSender.send(message);} catch (Exception e) {log.error("邮件发送失败:{}", email, e);return false;}log.error("邮件发送成功:{}", Arrays.toString(email.getTo()));return true;}}

2.9、checkEmail方法

    /*** 校验邮件**/private static boolean checkEmail(Email email) {log.error("开始发送邮件:{}", email);if (email == null) {log.error("邮件参数错误:{}", (Object) null);return false;}if (email.getTo() == null || email.getTo().length == 0) {log.error("邮件接收人不能为空:{}", email);return false;}if (StringUtils.isEmpty(email.getSubject())) {log.error("邮件主题不能为空:{}", email);return false;}for (String to : email.getTo()) {if (!EmailUtils.isValidEmail(to)) {log.error("邮件接收人格式错误:{}", to);return false;}}return true;}

3、在业务中怎么使用

在其他服务中直接注入SendMail即可

@Autowired
private SendMail sendMail;

3.1、发送内容为文本的邮件

Email email = new Email();
email.setTo(new String[]{"ceshi@qq.com"});
email.setSubject("测试邮件");
email.setText("测试邮件");
boolean b = sendMail.sendSimpleMail(email);
System.out.println(b);

3.2、发送内容为html的邮件

Email email = new Email();
email.setTo(new String[]{"ceshi@qq.com"});
email.setSubject("测试邮件");
email.setText("<html><body><h1>测试邮件</h1></body></html>");
boolean b = sendMail.sendMimeMail(email);
System.out.println(b);

3.3、发送内容为图片的邮件

Email email = new Email();
email.setTo(new String[]{"ceshi@qq.com"});
email.setSubject("测试邮件");
email.setImagePathList(Arrays.asList("c:\\ceshi.jpg");
boolean b = sendMail.sendImageMail(email);
System.out.println(b);

3.4、发送内容为文本且包含图片的邮件

Email email = new Email();
email.setTo(new String[]{"ceshi@qq.com"});
email.setSubject("测试邮件");
email.setText("测试邮件");
email.setImagePathList(Arrays.asList("c:\\ceshi.jpg");
boolean b = sendMail.sendTextImageMail(email);
System.out.println(b);

3.5、发送带附件的邮件

Email email = new Email();
email.setTo(new String[]{"ceshi@qq.com"});
email.setSubject("测试邮件");
email.setText("测试邮件");
email.setFilePathList(Arrays.asList("c:\\ceshi.jpg");
boolean b = sendMail.sendAttachmentMail(email);
System.out.println(b);

http://www.dtcms.com/wzjs/357782.html

相关文章:

  • 做一名网络写手去那个网站好微博推广怎么做
  • 网站建设功能是什么免费的行情软件网站下载
  • 网站建设合同的结构平台如何做推广
  • 怎样手机做网站教程软文推广策划方案
  • 目前做的最好的招聘网站网站app免费生成软件
  • 南京做网站优化公司seo关键词排名优化如何
  • 个人做旅游网站怎样全网营销系统1700元真实吗
  • 柳州住房城乡建设厅官方网站广州seo优化推广
  • 网站如何备案 流程seo怎么优化软件
  • 南京直销网站开发宁波网站建设制作报价
  • 做高铁在哪个网站买seo排名课程咨询电话
  • 网站如何在百度上做推广性能优化大师
  • 天津企业网站建设价格软文发布平台有哪些
  • 网站的qq客服接口怎么做semester at sea
  • 网络网站建设价格全国新冠疫苗接种率
  • 怎么描述网站主页做的好购买链接平台
  • 北京互联网网站建设商城推广
  • 如今做那个网站能致富全网营销推广方案外包
  • 潘家园做网站公司cpv广告联盟
  • 怎么建设咨询网站网站百度收录批量查询
  • 网站蜘蛛爬行统计简述网络营销的含义
  • 百度竞价排名广告定价鲜花seo标签优化
  • 龙华新区城市建设局网站揭阳新站seo方案
  • 广州购网站建设刷关键词排名系统
  • 南昌网站设计公司郑州网
  • 网站建设开发方式包括哪些搜关键词网站
  • 安阳360网站推广工具舆情分析
  • 服务器怎么发布网站网络营销课程设计
  • wordpress播放上传视频seo软件哪个好
  • 怎样快速仿做网站怎么做网站链接