参考文档:
Github的clj-email

clojure中实现邮箱发送!!!
邮箱发送需要使用到

  • 第一步:project.clj中添加依赖
[com.draines/postal "2.0.3"]
  • 第二步:配置邮箱环境变量

dev、test、pro的config文件中添加邮箱发送环境变量

{
:dev true
:email {:email-host "smtp.exmail.qq.com"    //邮件服务器ip:email-username "xxx@qq.com"      //用户名:email-password " 111"                       //用邮箱的授权码:email-port  465                                   //设置端口
}
  • 第三步:发送邮箱工具方法

依赖和环境变量配置好了之后,开始撸起袖子干活了。那么邮箱发送具体怎么实现呢,往下看

(ns rc-mis.common.email-util(:require [java-time :as jt][clojure.tools.logging :as log][postal.core :as email][rc-mis.config :refer [env]][rc-mis.common.biz-error :refer [throw-error]]))(defn- get-eamil-config
“获取邮箱发送的环境变量信息"
[]{:host (get-in env [:email :email-host]):user (get-in env [:email :email-username]):pass (get-in env [:email :email-password]):port (get-in env [:email :email-port])})(defn- get-email-content
"组装发送邮件内容[from-email to-email plat-name product-name valid-days]{:from  from-email:to  to-email:subject  "邮箱验证码":body (str " 你好!xxx产品失效验证码123"(jt/format "yyyy-MM-dd" (jt/local-date-time)))})(defn send-email-notice"发送邮件验证码"[to-email](let [email-config (get-eamil-config)content (get-email-content (:user email-config) to-email  "阿里云"  "短信"  "8")resp (email/send-message email-config content)](log/info "发送邮件通知开始,内容为"content)(log/info "发送邮件通知,返回值为:"resp)(prn "邮件发送通知,返回参数"resp)(if (and (zero? (:code resp)) (= :SUCCESS (:error resp)))"SUCCESS"(throw-error 9011 ))))
  • 第四步:测试

;;测试代码
(comment(send-email-notice "xxx@qq.com"))

控制台打印测试结果:

2020-11-11 16:50:59,141 [nREPL-session-777b9802-3ebb-4dd8-9e6c-869e45be6dd5] INFO  rc-mis.common.email-util - 发送邮件通知开始,内容为 {:from mailtest@3vyd.com, :to xxxx@qq.com, :subject 云产品失效通知, :body 尊敬的用户,您好!
企业购买"阿里云"云平台下的"短信"云产品
将于8天后即将失效,请您续费!
2020-11-11}
2020-11-11 16:50:59,144 [nREPL-session-777b9802-3ebb-4dd8-9e6c-869e45be6dd5] INFO  rc-mis.common.email-util - 发送邮件通知,返回值为: {:code 0, :error :SUCCESS, :message messages sent}
"邮件发送通知,返回参数" {:code 0, :error :SUCCESS, :message "messages sent"}

测试发送成功!!完美!!

要是出现465端口号错误

Could not connect to SMTP host: smtp.qq.com, port: 465, response: -1

去我写的下面这篇博客解决问题:
Could not connect to SMTP host: smtp.qq.com, port: 465, response: -1 clojure邮箱发送

clojure实现邮箱发送相关推荐

  1. 如何用python实现邮箱发送信息

    这篇文章主要为大家详细介绍了python实现邮箱发送信息,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了python实现邮箱发送信息的具体代码,供大 ...

  2. 【Zabbix】配置 腾讯企业邮箱 发送报警邮件

    Zabbix 配置 腾讯企业邮箱 发送报警邮件

  3. java发送消息_通过java给qq邮箱发送信息

    通过java程序给qq邮箱发送信息. 1.第一步:下载mail的jar包:javax.mail.jar 下载地址:https://javaee.github.io/javamail/#Latest_N ...

  4. SpringBoot中快速实现邮箱发送

    前言 在许多企业级项目中,需要用到邮件发送的功能,如: 注册用户时需要邮箱发送验证 用户生日时发送邮件通知祝贺 发送邮件给用户等 创建工程导入依赖 <!-- 邮箱发送依赖 --> < ...

  5. python smtp QQ邮箱 发送附件

    质己跑完case 会得到的一个测试报告,然后我要把这个测试报告通过qq邮箱发送到接受人那里,闲话少说 mailto_list = ['caoyong@zlddata.cn'] # 收件人(列表) ma ...

  6. 邮箱发送附件,附件变成了bin文件

    邮箱发送附件,附件变成了bin文件主要原因是因为文件名过长造成的 主需要添加  System.getProperties().setProperty("mail.mime.splitlong ...

  7. java实现qq邮箱发送附件和图片

    生成授权码 1.进入设置账户里面,把第一个服务开启 2.点生成授权码,在代码中当成是密码 3.集成到springboot里面,引入依赖包 <dependency><groupId&g ...

  8. python 实现使用163邮箱发送有图片的邮件

    周末温习下python,正好最近在做监控,想着 给163邮箱发邮件,记录下来,方便备查. 邮件发送必须要知道邮件的 传输协议 SMTP SMTP (Simple Mail Transfer Proct ...

  9. Spring Boot 整合163或者qq邮箱发送验证码

    前记 最近做的项目中注册功能要用到验证码,本来想用阿里云的短信服务,但是有点小贵,就另辟捷径,选择了用邮箱来发送验证码.记录一下整合过程,也希望能帮助一些有需要的人. 正文 1.Spring Boot ...

最新文章

  1. 2.27 18种定位方法总结
  2. 前端如何获取联通积分_2020办理深圳户口如何查询积分?怎样获取更多积分?快看这里...
  3. Apple开发者账号申请学习方式
  4. html+input+hidden,input type=hidden
  5. 帝国CMS仿《游戏资讯网》优化版整站源码/专业游戏资讯网站系统模版
  6. android平板改成电视盒子,安卓平板改裝成電視盒子
  7. 软件测试用例常用七大方法
  8. 科研常用到的计算机编程,科研必备:几款好用的流程图工具,助力你的论文/科研绘图...
  9. 个股和股票池的beta系数的估算
  10. 虚拟机CentOS-7修改ip地址
  11. 【网络】之TCP/IP 网络模型有哪几层
  12. python输入一个自然数n如果n为奇数_日本数学家谷角静夫在研究自然数时发现了一个奇怪现象(“谷角猜想”):对于任意一个自然数...
  13. 通过命令运行jar包(指定外部依赖jar包)
  14. 二层台机器人_海洋钻修机二层台机器人设计及选型研究
  15. Java JMF 多媒体框架
  16. 铁道部新客票系统设计(三)
  17. 弹性伸缩服务在商业应用中的优劣势分析
  18. L298N电机驱动资料,带光电隔离
  19. 牛年宝宝起名取名字:古诗有文采典故的女孩名字
  20. yt练手1004输出前m大的数hash

热门文章

  1. 我对计算机网络技术的理解,计算机网络技术教学总结
  2. Python魔法函数与两比特量子系统模拟
  3. 特斯拉被曝低级漏洞:用树莓派DIY车钥匙,开锁仅需90秒
  4. VB.net byval和byref
  5. [Windows] 微软错误代码
  6. flex布局设置宽度不生效,高度生效
  7. wechat小程序布局flex
  8. [前端] HTML,CSS,font-family:中文字体的英文名称 (宋体 微软雅黑)
  9. 51单片机控制二相四线步进电机
  10. iOS 2015年3月苹果新的审核标准(中文)