clojure实现邮箱发送
参考文档:
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实现邮箱发送相关推荐
- 如何用python实现邮箱发送信息
这篇文章主要为大家详细介绍了python实现邮箱发送信息,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了python实现邮箱发送信息的具体代码,供大 ...
- 【Zabbix】配置 腾讯企业邮箱 发送报警邮件
Zabbix 配置 腾讯企业邮箱 发送报警邮件
- java发送消息_通过java给qq邮箱发送信息
通过java程序给qq邮箱发送信息. 1.第一步:下载mail的jar包:javax.mail.jar 下载地址:https://javaee.github.io/javamail/#Latest_N ...
- SpringBoot中快速实现邮箱发送
前言 在许多企业级项目中,需要用到邮件发送的功能,如: 注册用户时需要邮箱发送验证 用户生日时发送邮件通知祝贺 发送邮件给用户等 创建工程导入依赖 <!-- 邮箱发送依赖 --> < ...
- python smtp QQ邮箱 发送附件
质己跑完case 会得到的一个测试报告,然后我要把这个测试报告通过qq邮箱发送到接受人那里,闲话少说 mailto_list = ['caoyong@zlddata.cn'] # 收件人(列表) ma ...
- 邮箱发送附件,附件变成了bin文件
邮箱发送附件,附件变成了bin文件主要原因是因为文件名过长造成的 主需要添加 System.getProperties().setProperty("mail.mime.splitlong ...
- java实现qq邮箱发送附件和图片
生成授权码 1.进入设置账户里面,把第一个服务开启 2.点生成授权码,在代码中当成是密码 3.集成到springboot里面,引入依赖包 <dependency><groupId&g ...
- python 实现使用163邮箱发送有图片的邮件
周末温习下python,正好最近在做监控,想着 给163邮箱发邮件,记录下来,方便备查. 邮件发送必须要知道邮件的 传输协议 SMTP SMTP (Simple Mail Transfer Proct ...
- Spring Boot 整合163或者qq邮箱发送验证码
前记 最近做的项目中注册功能要用到验证码,本来想用阿里云的短信服务,但是有点小贵,就另辟捷径,选择了用邮箱来发送验证码.记录一下整合过程,也希望能帮助一些有需要的人. 正文 1.Spring Boot ...
最新文章
- 2.27 18种定位方法总结
- 前端如何获取联通积分_2020办理深圳户口如何查询积分?怎样获取更多积分?快看这里...
- Apple开发者账号申请学习方式
- html+input+hidden,input type=hidden
- 帝国CMS仿《游戏资讯网》优化版整站源码/专业游戏资讯网站系统模版
- android平板改成电视盒子,安卓平板改裝成電視盒子
- 软件测试用例常用七大方法
- 科研常用到的计算机编程,科研必备:几款好用的流程图工具,助力你的论文/科研绘图...
- 个股和股票池的beta系数的估算
- 虚拟机CentOS-7修改ip地址
- 【网络】之TCP/IP 网络模型有哪几层
- python输入一个自然数n如果n为奇数_日本数学家谷角静夫在研究自然数时发现了一个奇怪现象(“谷角猜想”):对于任意一个自然数...
- 通过命令运行jar包(指定外部依赖jar包)
- 二层台机器人_海洋钻修机二层台机器人设计及选型研究
- Java JMF 多媒体框架
- 铁道部新客票系统设计(三)
- 弹性伸缩服务在商业应用中的优劣势分析
- L298N电机驱动资料,带光电隔离
- 牛年宝宝起名取名字:古诗有文采典故的女孩名字
- yt练手1004输出前m大的数hash