通过会议管理系统将客户会议信息发送到Exchange 服务系统日历中.
同时取消会议时也要将Exchange 服务系统日历中会议取消.
maven 见 EWS java api 向Exchange 服务器中创建日历会议
/**
* Exchange 取消一条会议邮件
* @param meetTaskDTO
*/
public static void deleteEmail(MeetTaskDTO meetTaskDTO) {
//获取当前租户的邮箱配置
MailField mailField = MailUtils.getMailField(meetTaskDTO.getTenantId());
//在 Notifications 中,ExchangeVersion.Exchange2010 版本不支持流式通知,需要不断的执行 GetEvents 方法达到实时监听。
//获取版本
String exchangeversion = StringUtils.isNotEmpty(mailField.getExchangeVersion()) ? mailField.getExchangeVersion() : MailConfig.getDefaultMailField().getExchangeVersion();
try {
//设置版本 我这里是通过用户进行配置的
ExchangeService service = new ExchangeService(ExchangeVersion.valueOf(exchangeversion));
//Exchange服务器的域名,使用ip可能会连接失败,如服务器在本地,没有域名可以在host文件中添加一条域名解析规则
String serverHost = mailField.getExchangeServeHost();
//登录的账号和密码,账号一定是可以登录进去的账号,不一定是邮箱地址
ExchangeCredentials credentials = new WebCredentials(mailField.getExchangeAccount(), mailField.getExchangePwd());
service.setCredentials(credentials);
// 固定写法
service.setUrl(new URI("https://" + serverHost + "/ews/exchange.asmx"));
service.setCredentials(credentials);
service.setTraceEnabled(true);
//删除会议
Appointment appointment = Appointment.bind(service, ItemId.getItemIdFromString(meetTaskDTO.getEwsKey()), new PropertySet());
// Delete the meeting by using the Delete method.
// 取消后,之前创建的会议标题前会加上已取消三个字
appointment.delete(DeleteMode.MoveToDeletedItems, SendCancellationsMode.SendToAllAndSaveCopy);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
MeetTaskDTO meetTaskDTO = new MeetTaskDTO();
// meetTaskDTO.setTaskName("测试会议");
// meetTaskDTO.setRoomName("华山论剑");
// meetTaskDTO.setContent("测试数据");
// meetTaskDTO.setTaskDate("2020-06-10");
// meetTaskDTO.setTaskStartTime("16:30");
// meetTaskDTO.setTaskEndTime("17:00");
// meetTaskDTO.setTenantId("tongji");
//保存的日历会议id,在新增日历会议时会生成.
meetTaskDTO.setEwsKey("AAMkADY5M2FiNzdmLTI5NWMtNDU4MS05NTkyLTRjMDg3ZmJiMzBmNQBGAAAVVVBxWD7ZmALfRrldTRRHLRHXBwC1U7TqlMAYTZis0goVWeOXAAAA2qwyAAC2U8TqlMAYTZis0goVWeOXAADM3sdwAAA=");
//发送
// sendEws(meetTaskDTO);
//删除
deleteEmail(meetTaskDTO);
}
EWS java api 向Exchange 服务器中创建日历会议
欢迎大家留言点赞