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

黑豹程序员-java发邮件,发送内容支持html,带多附件的案例

介绍

发邮件mail是常见的软件功能,下面利于spring和java的mail库实现发送内容支持html,带多附件的案例

开启SMTP邮件发送协议

谁提供的SMTP邮件服务,就找谁开启。QQ邮箱类似。
在这里插入图片描述

依赖

        <!--Java MAil 发送邮件API--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency><dependency><groupId>javax.mail</groupId><artifactId>javax.mail-api</artifactId><version>1.6.2</version></dependency>

代码

package com.mail;import com.sun.xml.internal.messaging.saaj.packaging.mime.MessagingException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Properties;/*** @version v1.0 创建时间:2023/11/20 15:59* @author: 作者:陈子枢* @web CSDN:https://blog.csdn.net/nutony* @description 描述:读取属性配置文件,发送邮件*/@Slf4j
@PropertySource("classpath:mail.properties")
public class MailClient {@Value("${host}")private String minioUrl;@Value("${port}")private int port;public static void sender(String form, String cc, String subject, String html, List<String> attachments) throws javax.mail.MessagingException {JavaMailSenderImpl sender = new JavaMailSenderImpl();sender.setHost("smtp.163.com");sender.setPort(25);sender.setUsername(form);sender.setPassword("配置的授权码");sender.setDefaultEncoding("UTF-8");// 简化对mimeMessage的封装MimeMessage message = sender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(sender.createMimeMessage(), true, "UTF-8");helper.setFrom(sender.getUsername());  //邮件发送人helper.setCc(cc);                  //抄送helper.setSubject(subject);            //标题helper.setText(html,true);       //正文//邮件附件for(String attachment: attachments) {File file = new File(attachment);helper.addAttachment(file.getName(), file);}sender.send(helper.getMimeMessage());}public static void main(String[] args) throws MessagingException, javax.mail.MessagingException {List<String> attachments = new ArrayList<>();attachments.add("d:\\1.png");attachments.add("d:\\2.png");MailClient.sender("13261758319@163.com", "52399178@qq.com", "HTML邮件", "<h1 style='color:red'>hello,world!</h1>",attachments);log.info("邮件发送成功!");}}
http://www.lryc.cn/news/253567.html

相关文章:

  • [LeetCode] 15. 三数之和
  • Android Chips(标签)
  • 飞行汽车开发原理(上)
  • 22、pytest多个参数化的组合
  • 【网络奇缘】- 如何自己动手做一个五类|以太网|RJ45|网络电缆
  • 【从零开始学习JVM | 第三篇】类的生命周期(高频面试)
  • 详解前后端交互时PO,DTO,VO模型类的应用场景
  • 力扣295. 数据流的中位数
  • 英语二笔记
  • 【OpenSSH升级】升级后证书认证登录突然失效
  • pytest +uiautomator2+weditor app自动化从零开始
  • 【计算机网络笔记】物理层——信道与信道容量
  • 深度学习火车票识别系统 计算机竞赛
  • C++EasyX之井字棋
  • 12.5_黑马数据结构与算法Java
  • 【PID学习笔记 5 】控制系统的性能指标之一
  • HarmonyOS学习--TypeScript语言学习(三)
  • Matlab 镜像变换(2D)
  • SpringBoot3-快速体验
  • 计数问题(数位DP)
  • SQL Server事务(Transaction)
  • Python语言基础学习大纲(由某大模型生成)
  • nodejs+vue+微信小程序+python+PHP天天网站书城管理系统的设计与实现-计算机毕业设计推荐
  • 工业机器视觉megauging(向光有光)使用说明书(十二,轻量级的visionpro)
  • HarmonyOS学习--了解基本工程目录
  • JRT导出协议实现
  • Unity中动态合批
  • 逆水行舟!浅谈24届双非本科秋招
  • vue3请求代理proxy中pathRewrite失效
  • 练习题——-【学习补档】日期差值