java mail pom_结合Spring发送邮件的四种正确姿势,你知道几种?

一 前言

测试所使用的环境

测试使用的环境是企业主流的SSM 框架即 SpringMVC+Spring+Mybatis。为了节省时间,我直接使用的是我上次的“SSM项目中整合Echarts开发”该项目已经搭建完成的SSM环境。

标题说的四种姿势指的是哪四种姿势?发送text格式的邮件

发送HTML格式的邮件

基于FreeMarker模板引擎发送邮件

基于Velocity模板引擎发送邮件

如何获取以及运行我的Demo

Github地址:https://github.com/Snailclimb/J2ee-Advanced。(说明:相关代码都在ssm-echarts-demo 项目中)

你可以选择直接下载或者直接在DOS窗口运行: git clone https://github.com/Snailclimb/J2ee-Advanced.git命令,这样项目就被拷贝到你的电脑了。

9b19fc32e3eb69a3c76e04552ef2d563.png

然后选择导入Maven项目即可(不懂Maven的可以自行百度学习).

二 准备工作

既然要发送邮件,那么你首先要提供一个能在第三方软件上发送邮件功能的账号。在这里,我选择的网易邮箱账号。

我拿网易邮箱账号举例子,那么我们如何才能让你的邮箱账号可以利用第三方发送邮件(这里的第三方就是我们即将编写的程序)。

大家应该清楚:客户端和后台交互数据的时候用到了Http协议,那么相应的,邮箱传输也有自己的一套协议,如SMTP,POP3,IMAP。

开启POP3/SMTP/IMAP服务

所以,我们第一步首先要去开启这些服务,如下图所示:

a52c6583b2bbc2abd8797b0fde812202.png

如果你未开启该服务的话,运行程序会报如下错误(配置文件中配置的密码是你的授权码而不是你登录邮箱的密码,授权码是你第三方登录的凭证):HTTP Status 500 - Request processing failed; nested exception is org.springframework.mail.MailAuthenticationException: Authentication failed; nested exception is javax.mail.AuthenticationFailedException: 550 User has no permission

JavaMail介绍

我们需要用到的发邮件的核心jar包,所以这里好好介绍一下。

JavaMail是由Sun定义的一套收发电子邮件的API,不同的厂商可以提供自己的实现类。但它并没有包含在JDK中,而是作为JavaEE的一部分。厂商所提供的JavaMail服务程序可以有选择地实现某些邮件协议,常见的邮件协议包括:SMTP:简单邮件传输协议,用于发送电子邮件的传输协议;

POP3:用于接收电子邮件的标准协议;

IMAP:互联网消息协议,是POP3的替代协议。

这三种协议都有对应SSL加密传输的协议,分别是SMTPS,POP3S和IMAPS。

我们如果要使用JavaMail的话,需要自己引用相应的jar包,如下图所示:            javax.mail            mail            1.4.7        

相关配置文件

下图是除了pom.xml之外用到的其他所有配置文件

bdc67b77b11d11fcb50788efc31ae7fd.png

pom.xml

需要用到的jar包。                      org.springframework              spring-context-support              5.0.0.RELEASE                                    javax.mail            mail            1.4.7                                    org.freemarker            freemarker            2.3.23                                    org.apache.velocity            velocity            1.7                            org.apache.velocity            velocity-tools            2.0        

mail.properties#服务器主机名mail.smtp.host=smtp.163.com#你的邮箱地址mail.smtp.username=koushuangbwcx@163.com#你的授权码mail.smtp.password=cSdN153963000#编码格式mail.smtp.defaultEncoding=utf-8#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值