最近接到一个写发送邮件的功能开发,使用的是jfinal框架。原本打算使用javamail一步步来的,后来看到jfinal有自带的发邮件的插件(jfinal-mail-plugin),只需两三行代码便可以完成发邮件的功能,顿时心中大喜,但是,坑一个赛一个的大。下面是开发步骤和遇到坑。

1.在pom.xml中添加maven依赖

<!-- jfinal邮件插件 -->
<dependency>
<groupId>cn.fsdev</groupId>
<artifactId>jfinal-mail-plugin</artifactId>
<version>3.0</version>
</dependency>
这里只是使用插件,没有使用jfinal-mailer,如果你使用的是jfinal-mailer,下面的配置文件需要注意下。 2.添加发送邮件的配置文件,文件内容如下:
#邮箱HOST
host=smtp.qq.com
#协议
protocol=smtp
#端口
port=465
#用户名
username=
#密码 这个是授权码,不是QQ邮箱的密码,https://jingyan.baidu.com/article/c275f6ba61c583e33d756735.html
password=
#权限认证
mail.smtp.auth=true
#超时时间
mail.smtp.timeout=5000
#是否是ssl
mail.smtp.ssl.enable=true
如果你使用的是jfinal-mailer,那么每个变量前都需要添加smtp 3.JFinalConfig中启用插件 plugins .add(new MailPlugin(PropKit.use("mail.properties").getProperties())); 4.编写测试类
MailKit.send("xxx@qq.com",null, "邮件标题", "邮件内容");

!!!踩过得坑
1. 项目启动报这个错 com.jfplugin.mail.MailPlugin cannot be cast to com.jfinal.plugin.IPlugin
这个是因为我用idea开发的原因,需要添加配置文件并且设置idea,具体操作可以查看官网的解决办法。 https://www.jfinal.com/doc/1-9
2.在启动测试类的时候 一直报这个错 at com.jfplugin.mail.MailKit.send(MailKit.java:61)
查看了源码,没发现我写的代码问题,最后查看了别人的项目才发现,在启动发邮件的方法之前还要加一句启动插件的代码
   new MailPlugin(PropKit.use("mail.properties").getProperties()).start();

问题完美解决,目前只测试了QQ邮箱,感兴趣的小伙伴可以试试别的邮箱。
												

关于jfinal发送邮件走过的坑的更多相关文章

  1. 记一次ftp服务器搭建走过的坑

    记一次ftp服务器搭建走过的坑 1.安装 ①下载 wget https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz #要FQ ②解压 ta ...

  2. php支付走过的坑(微信篇 包含h5支付和app支付 注册 秘钥 环境等等配置)

    支付这东西,说容易也容易,说难也难 代码这玩意还比较好说 但是 如果没有demo 直接去看官方文档 十有八九一脸懵逼 今天就整理一下 支付这块走过的坑 涉及 微信h5支付 支付宝h5支付 (api文档 ...

  3. php支付走过的坑(支付宝篇 注册 秘钥 环境等等配置)

    支付这东西,说容易也容易,说难也难 代码这玩意还比较好说 但是 如果没有demo 直接去看官方文档 十有八九一脸懵逼 今天就整理一下 支付这块走过的坑 涉及 微信h5支付 支付宝h5支付 (api文档 ...

  4. 【转】8年!我在OpenStack路上走过的坑。。。

    8年!我在OpenStack路上走过的坑... 摘要: 2010年10月,OpenStack发布了第一个版本:上个月,发布了它的第18个版本Rocky.几年前气氛火爆,如今却冷冷清清.Rocky版本宣 ...

  5. 最近走过的坑 :slf4j 多个实现 hibernate 类型转换异常 bean依赖问题

    最近走过的坑 slf4j 多个实现 主要是maven依赖中存在多个slf4j的实现类,在引入的依赖中排除对应的依赖就可以 <dependency> <groupId>xxxxx ...

  6. 在 ASP.NET Core 中发送邮件遇到的坑_学习笔记

    功能需求 因为项目需要有个忘记密码验证邮箱再重新修改密码的功能,然后我选用了很简单的一个方案,通过验证登录用户的邮箱然后发送邮件,通过这个邮件发送的链接地址来最后实现密码修改的小功能. 项目环境及实现 ...

  7. MongoDB走过的坑(4.0.3版本)

    数据存储一般使用本地或者存储在数据库,MongoDB是一个非关系型数据库,今天小结下走过的一些坑. 1.网上的很多教程对自己无效 解决方法:这种情况一般都是和版本有关系,数据库在不断的更新发展,很多东 ...

  8. 【走过巨坑】android studio对于jni调用及运行闪退无法加载库的问题解决方案

    相信很多小伙伴都在android开发中遇到调用jni的各种巨坑,因为我们不得不在很多地方用到第三方库so文件,然而第三方官方通常都只会给出ADT环境下的集成方式,而谷歌亲儿子android studi ...

  9. css走过的坑

    css盒模型 1.内联元素 设置宽高无效.margin左右有效上下无效.padding都有效 会被当做字体所以内联之间有间隙 父级元素要设置font-size:0; 内联元素:a.b.button.e ...

随机推荐

  1. linux 部署

    一.d2 安装之后的配置 centos系统安装后的基本配置: .常用软件安装: yum install -y bash-completion vim lrzsz wget expect net-too ...

  2. URL编码表 Base64编码表 HTTP消息含义

    URL编码表 backspace 8% A 41% a 61% § %A7 Õ %D5   tab 9% B 42% b 62% « %AB Ö %D6   linefeed %0A C 43% c ...

  3. Evosuite使用方法入门

    ​ Evosuite使用方法入门 ​ 1.简要介绍 EvoSuite开源工具可以基于Eclipse进行测试用例的自动生成,生成的测试用例符合Junit标准(直接生成可进行Junit的java文件),满 ...

  4. Yii2 设计模式——设计模式简介

    我们首先来思考一个问题:作为工程师,我们的价值是什么? 笔者认为是——解决用户问题. 我们的任何知识和技能,如果不能解决特定的问题,那么就是无用的屠龙之术:我们的任何经验,如果不能对解决新的问题有用, ...

  5. 创建一个dynamics 365 CRM online plugin (五) - Images in Plugin

    Snapshots of the primary entity's attributes from database before(pre) and after (post) the core pla ...

  6. 腾讯云cos对象在线显示

    问题 前端使用了一张cos的图片,但是无法显示图片,使用的是cdn的加速域名地址. 对比:使用服务器的直接域名是可以显示的. 两者地址直接访问时,一者在线显示,一者直接下载到本地. 原因: 使用默认提 ...

  7. 关于jpa

    mappedBy 如果不写,会多生成一张id关联表,无论是一对多还是多对多,关联表名为两张原始表连接起来,顺序以字母英文排序 名字为类名的小写复数 被标记的类作为被维护者,写入时,需要以维护者repo ...

  8. webRTC中音频相关的netEQ(一):概述

    上篇文章(语音通信中终端上的时延(latency)及减小方法)说从本篇开始会切入webRTC中的netEQ主题,netEQ是webRTC中音频技术方面的两大核心技术之一(另一核心技术是音频的前后处理, ...

  9. 聊聊Google DSM产品的发布

    只有产品顺利的发布给用户使用并获得良好反馈,整个团队的价值才有所体现. 引言 不知不觉,从13年接手Google Doubleclick Sales Manager到今年7月,4年经历了3个miles ...

  10. vscode "find all references" 提示: no result found.

        vscode(visual studio code) 是微软推出的一款编辑器.免费,跨平台,最主要是轻便,消耗资源少, 成为码农阅读code的利器. vscode可以安装第三方的一些插件,满足 ...