首页 > 编程语言 >java笔记_14_邮箱发送

java笔记_14_邮箱发送

时间:2023-11-02 17:23:38浏览次数:49  
标签:java 14 param 邮箱 mail null true 邮件 String

JavaMailSender:默认使用配置文件中的发送人邮箱密码等
JavaMailSenderImpl:方法中使用Impl对象,可手动设置发送账户密码
application.yml

spring:
  #spring集成配置(省略创建session过程)
  mail:
    host:   #邮件服务器地址
    port:                #邮件服务器端口
    protocol:          #使用的协议v
    default-encoding: UTF-8 #默认编码
    username:          #这个是通过邮件服务器认证的用户名和密码,不一定是邮箱,看服务器的要求
    password:
    from:                #统一设置发件人邮箱
    externalAttachmentPath:
    properties:            #properties中的属性都是比较灵活可配置的,其实是javax.mail.Session中对应的配置项,可以参考对应文档
      mail:
        smtp:
          auth: true   #如果邮件服务器需要实名需要认证开启此选项
          ssl:
            enable: true
          starttls:
            enable: false
            required: false
import org.springframework.mail.javamail.JavaMailSenderImpl;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.UnsupportedEncodingException;
import org.springframework.mail.javamail.MimeMessageHelper;

@Autowired(required = false) private JavaMailSenderImpl javaMailSender; /** * 简单邮件发送-带附件 * * @param from 发件人 * @param password 发件人密码 * @param to 收件人 多人逗号隔开 * @param cc 抄送人 多人逗号隔开 * @param bcc 密抄送人 多人逗号隔开 * @param subject 主题 * @param content 正文 * @param attachments 附件 * @return */ @Override public boolean sendEmail(String from, String password, String to, String cc, String bcc, String subject, String content, List<File> attachments) { try { javaMailSender.setUsername(from); javaMailSender.setPassword(password); MimeMessage message = javaMailSender.createMimeMessage(); /* * 这里使用MimeMessageHelper简化了邮件配置, * 它的构造方法的第二个参数true表示构造一个multipart message类型的邮件, * multipart message类型的邮件包含多个正文、附件以及内嵌资源,邮件的表现形式更加丰富 */ MimeMessageHelper helper = new MimeMessageHelper(message, true); buildHelper(helper, false, from, null, null, to, cc, bcc, subject, content, null, null, true, null , null, attachments); javaMailSender.send(message); return true; } catch (MessagingException | UnsupportedEncodingException e) { logger.error(e.getMessage(), e); return false; } }

 

标签:java,14,param,邮箱,mail,null,true,邮件,String
From: https://www.cnblogs.com/luyuting/p/17805859.html

相关文章

  • OFD添加图片水印-JAVA
    写出了一个ofd文件加图片水印的工具类,分享给大家参考。1、引入ofdrw<!--junit--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>provided</scope></depende......
  • 掌握JavaScript中数组遍历的7种方法
    作为JavaScript开发人员,熟悉数组的遍历和操作是非常重要的。数组遍历是处理和操作数组元素的基本需求之一。本文将介绍JavaScript中的10种常见数组遍历方法,帮助你成为数组操作的达人。数组的遍历for循环forEach方法for...of循环map方法reduce方法for...in循环filter方法for循环or循......
  • jdk环境变量JAVA_HOME修改不生效问题
    近段因一个软件问题,软件需要使用jdk1.7的环境,我现在使用的是1.8,所以下载了jdk1.7,然后将环境变量JAVA_HOME改为了1.7的路径信息然后查看jdk版本还是1.8版本,就很奇怪,为什么修改了环境变量没生效呢?解决方式一:将系统变量path中JAVA_HOME中这一项移动到最上面解决方式二:当使用安装版本......
  • 秦疆的Java课程笔记:09-12 预科 下
    09预科软件及软件开发软件可以使计算机按照事先预定好的顺序完成特定的功能。大概分为两类:系统软件,应用软件。系统软件:DOS操作系统,DiskOperatingSystem磁盘操作系统Windows,家用视窗操作系统Linux,服务器端用的比较多的UnixMac,苹果电脑AndroidIOS……应用软件......
  • Java数组_01静态初始化数组
    1、初始化  2、访问数组数据 3、遍历数组 ......
  • BigDecimal java.lang.ArithmeticException: / by zero问题
    BigDecimalbigDecimal=newBigDecimal("0.0");BigDecimalbigDecimal1=newBigDecimal(0);//一定要用compareTo去比较被除数是否为0,不能用equalsif(BigDecimal.ZERO.compareTo(bigDecimal)==0||bigDecimal==null){System.out.println("true1111");}......
  • Java拾贝第十四天——集合之Set
    SetSet是Collection的子接口,其定义如下:publicinterfaceSet<E>extendsCollection<E>与List相同,此接口也使用了泛型,使用时必须指定具体的类型。Set常见的实现子类:HashSet、TreeSetHashSetHashSet是Set的子类,其类定义如下:publicclassHashSet<E>extendsAbstractSe......
  • 详解Java LinkedList
    LinkedList简介LinkedList是List接口的实现类,基于双向链表实现,继承自AbstractSequentialList类,同时也实现了Cloneable、Serializable接口。此外还实现了Queue和Deque接口,可以作为队列或双端队列使用。LinkedList的插入删除时间复杂度:在头部或尾部插入删除元素,只需要修改头节......
  • javaapi、spark、flink 创建Iceberg表,hive 和impala无法正常读取解决
    spark、flink创建Iceberg表中,元数据存储在hive的meta_store,发现hive或者impala无法正常读取报错。事实上解决方案是在spark、flink的SQL中执行语句:addiceberg相关引擎的runntime的jar;ALTERTABLEtSETTBLPROPERTIES('storage_handler'='org.apache.iceberg.mr.hive......
  • 使用LiveNVR将局域网Onvif/RTSP/SDK等协议转GB28181级联输出或GB35114级联输出,上级平
    1、第一步:抓包工具准备1.1、Linux使用tcpdump进行抓包,如果系统无此命令,自行安装1.2、windows下载安装wireshark进行抓包2、第二步:找到上级平台ip在基础配置里面GB28181级联配置中SIP服务IP3、第三步:执行命令抓设备出口ip3.1Linux在Linux系统中切换到root用户,执行下......