javaMail笔记

transport.close();[a6]

}

核心类:

Session 设置服务器的参数

MimeMessage 构造信息体设置发件人收件人邮箱,以及要发送的内容

Transport 发送信息的类

可以把该类抽取成一个工具类

Spring整合javaMail

配置mail.properties

mail.username=Admin@yan.com

mail.password=123

内容视情况配置

配置applicationContext-mail.xml

<context:property-placeholder location=“classpath:mail.properties”/>

<bean id="simpleMailMessage"class="org.springframework.mail.SimpleMailMessage[a7] ">

<property name=“from"value=”${mail.from}[a8] "></property>

</bean>

<bean id="javaMailSenderImpl"class=“org.springframework.mail.javamail.JavaMailSenderImpl”>

<property name=“username"value=”${mail.username}"/>

<property name=“password"value=”${mail.password}"/>

<property name=“host"value=”${mail.host}"/>

<property name=“defaultEncoding"value=”${mail.encode}"/>

<property name=“javaMailProperties”>

<props>

<prop key=“mail.smtp.auth”>${mail.smtp.auth}</prop>

<prop key=“mail.debug”>${mail.debug}</prop>

<prop key=“mail.smtp.timeout”>${mail.smtp.timeout}</prop>

</props>

</property>

</bean>

Spring整合了javaMail所以有些方法不一样

普通邮件的发送:

SimpleMailMessage message = (SimpleMailMessage) context.getBean(“simpleMailMessage”);//加载邮件对象

JavaMailSenderImpl sender = (JavaMailSenderImpl) context.getBean(“javaMailSenderImpl”);//创建发送对象

//设置发送信息

message.setSubject(“主题”);

message.setText(“内容”);

message.setTo(“收件人邮箱”);

//发送邮件

sender.send(message);

复杂邮件的发送:

//获取发送对象

JavaMailSenderImpl sender = (JavaMailSenderImpl) context.getBean(“javaMailSenderImpl”);

//获取mimeMessage

MimeMessagemessage = sender.createMimeMessage();

MimeMessageHelperhelper = new MimeMessageHelper(message,true);

//通过工具类设置主题,内容,图片,附件

helper.setFrom(“Admin@yan.”);[a9]

helper.setTo(“tom@yan.com”);[a10]

helper.setSubject(“主题”);

helper.setText(“

显示图片

<img src=cid:image [a11]  [a12] />”, true);

//发送图片

FileSystemResourceimg = new FileSystemResource(new File(“C:/Users/admin/Pictures/SavedPictures/b.jpg”));

helper.addInline("image[a13] ", img);

//发送附件

FileSystemResourcezipResource = new FileSystemResource(new File(“C:/Users/admin/Pictures/SavedPictures/b.jpg”));

helper.addAttachment(“b.zip”, zipResource);

sender.send(message);

注意:配置文件要灵活应用,很多属性可配可不配或者在java类中设置

Userservice层实现向新用户发送邮件:

新创建一个线程用来发送邮件,这样访问数据库的程序和发送邮件的程序互不影响(发送邮件的业务执行的较慢)


[a1]协议名称 也可以写成: mail.host

[a2]服务器地址,发送邮箱的smtp 如136:smtp.136.com

[a3]创建一个session(应答)

[a4]显示应答应答信息

最后总结

搞定算法,面试字节再不怕,有需要文章中分享的这些二叉树、链表、字符串、栈和队列等等各大面试高频知识点及解析

最后再分享一份终极手撕架构的大礼包(学习笔记):分布式+微服务+开源框架+性能优化

image

[a2]服务器地址,发送邮箱的smtp 如136:smtp.136.com

[a3]创建一个session(应答)

[a4]显示应答应答信息

最后总结

搞定算法,面试字节再不怕,有需要文章中分享的这些二叉树、链表、字符串、栈和队列等等各大面试高频知识点及解析

最后再分享一份终极手撕架构的大礼包(学习笔记):分布式+微服务+开源框架+性能优化

[外链图片转存中…(img-jxVtEvow-1719263325145)]

  • 19
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值