Grails3 邮件功能(可发送OutLook会议邀请邮件)
1、添加依赖包
dependencies {compile 'org.grails.plugins:mail:2.0.0'
}
2、在grails-app/conf/application.yml下添加以下配置:
grails:mail:host: 'smtp.exmail.qq.com'port: 465username: 'demo@qq.com'password: '1234567'props: "mail.smtp.auth": true"mail.smtp.socketFactory.port": 465"mail.smtp.socketFactory.class": 'javax.net.ssl.SSLSocketFactory'"mail.smtp.socketFactory.fallback": falsedefault:from: 'zhangjiayu@middol.com'
3、在控制器中添加发送邮件代码:
//注入依赖def mailService//发送方法def send(){mailService.sendMail {to "943510713@qq.com"// from "zhangjiayu@middol.com"// cc "marge@gmail.com", "ed@gmail.com"// bcc "joe@gmail.com"subject "Hello John"text 'this is some text'}}
如下截图:
=================================会议邀请邮件===============================
package middol.demoimport grails.plugins.mail.MailService
import grails.rest.*
import grails.converters.*import javax.mail.util.ByteArrayDataSource
import java.text.DateFormat
import java.text.ParseException
import java.text.SimpleDateFormatclass BookController extends RestfulController {static responseFormats = ['json', 'xml']BookController() {super(Book)}MailService mailServicedef test(){//面试开始时间String startTime = getUtc("2020-05-28 09:50");//面试结束时间String endTime = getUtc("2020-05-28 10:30");StringBuffer buffer = new StringBuffer();String fromEmail = "zhangjiayu139@outlook.com"String toEmail = "fangxing.qin-ext@yanfeng.com"buffer.append("BEGIN:VCALENDAR\n"+ "PRODID:-//Microsoft Corporation//Outlook 9.0 MIMEDIR//EN\n"+ "VERSION:2.0\n"+ "METHOD:REQUEST\n"+ "BEGIN:VEVENT\n"+ "ATTENDEE;ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:"+fromEmail+"\n" //会议出席人员+ "ORGANIZER:MAILTO:"+toEmail+"\n" //会议组织者+ "DTSTART:"+startTime+"\n" //会议开始时间+ "DTEND:"+endTime+"\n" //会议结束时间+ "LOCATION:Conference room\n" //会议地点+ "UID:"+UUID.randomUUID().toString()+"\n"//如果id相同的话,outlook会认为是同一个会议请求,所以使用uuid。+ "CATEGORIES:SuccessCentral Reminder\n"+ "DESCRIPTION:测试会议邀请邮件功能DESCRIPTION\n" //会议内容+ "SUMMARY:Test meeting request\n" + "PRIORITY:5\n" //会议标题+ "CLASS:PUBLIC\n" + "BEGIN:VALARM\n"+ "TRIGGER:-PT15M\n" + "ACTION:DISPLAY\n"+ "DESCRIPTION:Reminder\n" + "END:VALARM\n"+ "END:VEVENT\n" + "END:VCALENDAR");mailService.sendMail {multipart true
// attach(UUID.randomUUID().toString(), 'text/calendar;method=REQUEST;charset="UTF-8"', buffer.toString().getBytes())inline(UUID.randomUUID().toString(), "text/calendar;method=REQUEST;charset=\"UTF-8\"", buffer.toString().getBytes())to "zhangjiayu139@outlook.com"from "zhangjiayu@middol.com"subject "test"text 'test'}render "邮件发送成功"}/*** 转utc时间** @param str* @return*/private static String getUtc(String str) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");long millionSeconds = 0;try {millionSeconds = sdf.parse(str).getTime();} catch (ParseException e1) {e1.printStackTrace();}//utc时间差8小时long currentTime = millionSeconds - 8 * 60 * 60 * 1000;Date date = new Date(currentTime);//格式化日期DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String nowTime = "";nowTime = df.format(date);//转换utc时间String utcTime = nowTime.replace("-", "").replace(" ", "T").replace(":", "");return utcTime;}
}
效果
插件地址链接
参考文章
Grails3 邮件功能(可发送OutLook会议邀请邮件)相关推荐
- java发送会议邀请邮件模板_java mail text/calendar格式会议邀请邮件,网页版邮箱接收到的邮件内容无法换行...
java中用mail进行会议邀请邮件(text/calendar格式)的发送,客户端邮箱正常显示,网页版邮箱正文部分无法换行如何解决buffer.append("BEGIN:VCALENDA ...
- java发送会议邀请邮件模板_Spring 发送邮件 HTML邮件
[java 代码 import java.security.Security; import java.util.Date; import java.util.HashMap; im ...
- 利用word2010中的“邮件”功能批量发送邀请函
在日常办公中,无论是销售部.行政人力部.市场部都会涉及到一项工作,那就是群发邀请函或者通知.公告等公文.我们可能会发送电子邀请函,也可能需要我们打印纸质邀请函,也会遇到打印大量的客户通信地址用来派发礼 ...
- spring 发送html邮件,Springboot2.0 发送HTML 格式的邮件。
目的:使用 Springboot2.0 发送 HTML 格式的邮件 这是建立在 你会使用 springboot2.0 发送邮件的基础上,参考这篇博客: https://blog..net/Tomwil ...
- 通过PHPMailer发送会议邀请邮件,可将会议邀请信息写入outlook和Foxmail日历中
//引入PHPMailer $path=APP_PATH.'Common/Common/PHPMailer/src/'; require $path.'Exception.php'; require ...
- java发送会议邀请邮件模板_使用java发送每封电子邮件的日历邀请
我正在尝试使用 java发送每封电子邮件的日历邀请.收件人收到电子邮件,但该活动不会显示接受或拒绝的邀请,而是自动添加到他的日历中. 我正在使用ical4j.jar构建活动/邀请 private Ca ...
- android studio发邮件功能,Android发送电子邮件
电子邮件是通过电子方式从一个系统用户通过网络分发给一个或多个收件人的邮件. 在开始电子邮件活动之前,您必须意图了解电子邮件功能,Intent在应用程序或应用程序外部将数据从一个组件传输到另一个组件. ...
- word合并邮件无法发送html,Word邮件合并批量发送带附件的邮件
应张老师的需求,修改制作了一个可以批量发送带附件的电子邮件VBA. 目的:给N多人发送电子邮件,而不是抄送模式,并带有对方的称谓. 实现: 用到Word的邮件合并功能,以及调用Outlook发送邮件. ...
- python发邮件附件_python 发送带附件的邮件
class Carry_files_EmailSender(object): def __init__(self): self.smtp_host = smtp_host # 发送邮件的smtp服务器 ...
最新文章
- leetcode C++ 45. 跳跃游戏 II 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后
- iphone7像素_iPhone 7能否再战三年?这几点因素你得考虑到!
- php mysql log文件,mysql log文件【读书笔记1】_MySQL
- 远程用power shell 管理vmware view 池用户
- 世界名着100部简介
- 京瓷1125打印机清零_京瓷1125驱动下载
- excel如何设置下拉框选项
- 【Matlab元胞自动机】元胞自动机地铁火灾疏散模型【含源码 246期】
- python初学入门————列表
- 细数中国大学里的30个怪现状
- 计算机给文件重命名快捷键,计算机中文件重命名快捷键是什么
- python shutil删除_python删除文件
- 关于处理npm ERR! Unexpected token in JSON at position...
- MATLAB中的常用命令
- 知乎实时数据(问题-以及答案)-语料集
- 【软件工程-Teamwork 2】必应词典软件手机版测试报告
- 关于栅格系统布局的介绍
- Avatar——元宇宙和Web3的超级入口
- python从下载链接下载文件到本地
- Confluence+Jira使用