zoukankan      html  css  js  c++  java
  • 关于jfinal发送邮件走过的坑

      最近接到一个写发送邮件的功能开发,使用的是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邮箱,感兴趣的小伙伴可以试试别的邮箱。


  • 相关阅读:
    ExtJS4.2学习(6)——基础知识之proxy篇
    undo损坏故障恢复(二)ORA-01092,ORA-00604,ORA-01110
    pat 1063. Set Similarity (25)
    汉语-汉字:彤
    地理-地名:九女集
    汉语-汉字:菅
    汉语-汉字:蒯
    汉语-汉字:旬
    汉语-汉字:弁
    汉语-汉字:尥
  • 原文地址:https://www.cnblogs.com/yelele/p/10293906.html
Copyright © 2011-2022 走看看