Email Helper
using System;
using Microsoft.Xrm.Sdk;
using Microsoft.Crm.Sdk.Messages;
using Microsoft.Xrm.Sdk.Query; /// <summary>
/// 电子邮件
/// </summary>
public class EmailHelper
{
public static readonly string entityName = "email";
public Guid emailId = Guid.Empty;
public IOrganizationService service; /// <summary>
/// 创建电子邮件
/// </summary>
public void Create()
{
Entity en = new Entity();
en["subject"] = "电子邮件测试";
en["activityId"] = Guid.NewGuid();
emailId = service.Create(en);
} /// <summary>
/// 异步发送电子邮件
/// </summary>
/// <param name="query">查询的条件</param>
public void BackgroundSendEmail(QueryBase query)
{
BackgroundSendEmailRequest request = new BackgroundSendEmailRequest();
request.Query = query;
BackgroundSendEmailResponse response = (BackgroundSendEmailResponse)service.Execute(request);
EntityCollection entityCollection = response.EntityCollection;
bool[] hasAttachments = response.HasAttachments;
} /// <summary>
/// 检查是否应该将传入电子邮件提升到 Microsoft Dynamics CRM 系统
/// </summary>
/// <param name="messageId">消息id</param>
/// <param name="subject">主题</param>
public void CheckPromoteEmail(string messageId, string subject)
{
CheckPromoteEmailRequest request = new CheckPromoteEmailRequest();
request.MessageId = messageId;
request.Subject = subject;
CheckIncomingEmailResponse response = (CheckIncomingEmailResponse)service.Execute(request);
int reasonCode = response.ReasonCode;
bool shouldDeliver = response.ShouldDeliver;
} /// <summary>
/// 发送批量电子邮件
/// </summary>
/// <param name="query">查询的条件</param>
/// <param name="templateId">模版id</param>
public void SendBulkMail(QueryBase query, Guid templateId)
{
WhoAmIRequest emailSenderRequest = new WhoAmIRequest();
WhoAmIResponse emailSenderResponse = service.Execute(emailSenderRequest) as WhoAmIResponse;
SendBulkMailRequest request = new SendBulkMailRequest();
request.Query = query;
request.Sender = new EntityReference() { LogicalName = "systemuser", Id = emailSenderResponse.UserId };
request.RequestId = Guid.Empty;
request.RegardingType = "systemuser";
request.TemplateId = templateId;
SendBulkMailResponse response = (SendBulkMailResponse)service.Execute(request);
} /// <summary>
/// 使用模板发送电子邮件
/// </summary>
/// <param name="userId">发送人,用户id</param>
/// <param name="contractId">接收人,联系人id</param>
/// <param name="templateId">模版id</param>
public void SendEmailFromTemplate(Guid userId, Guid contractId, Guid templateId)
{
Entity fromEn = new Entity() { LogicalName = "systemuser", Id = userId };
Entity toEn = new Entity() { LogicalName = "contract", Id = contractId };
Entity emailEn = new Entity() { LogicalName = entityName };
emailEn["from"] = new Entity[] { fromEn };
emailEn["to"] = new Entity[] { toEn };
emailEn["subject"] = "电子邮件发送测试";
emailEn["directioncode"] = true;
SendEmailFromTemplateRequest request = new SendEmailFromTemplateRequest();
request.Target = emailEn;
request.TemplateId = templateId;
request.RegardingId = contractId;
request.RegardingType = "contract";
SendEmailFromTemplateResponse response = (SendEmailFromTemplateResponse)service.Execute(request);
Guid id = response.Id;
} /// <summary>
/// 发送电子邮件
/// </summary>
public void SendEmail()
{
SendEmailRequest request = new SendEmailRequest();
request.EmailId = emailId;
request.IssueSend = true;
request.TrackingToken = "";
SendEmailResponse response = (SendEmailResponse)service.Execute(request);
string subject = response.Subject;
} /// <summary>
/// 获取用于对存储在 Microsoft Dynamics CRM 数据库中的用户或队列的电子邮件凭据进行加密或解密的密钥
/// </summary>
public void GetDecryptionKey()
{
GetDecryptionKeyRequest request = new GetDecryptionKeyRequest();
GetDecryptionKeyResponse response = (GetDecryptionKeyResponse)service.Execute(request);
string key = response.Key;
} /// <summary> ///
/// 删除电子邮件 ///
/// </summary>
public void Delete() { service.Delete(entityName, emailId); }
}
Email Helper的更多相关文章
- 使用Spring发送Email
配置Spring发送邮件 Spring发送邮件底层还是使用JavaMail,我在http://www.cnblogs.com/lz2017/p/6882925.html 中记录过关于JavaMail的 ...
- ASP.NET Core 中文文档 第四章 MVC(3.6.2 )自定义标签辅助类(Tag Helpers)
原文:Authoring Tag Helpers 作者:Rick Anderson 翻译:张海龙(jiechen) 校对:许登洋(Seay) 示例代码查看与下载 从 Tag Helper 讲起 本篇教 ...
- 来玩Play框架04 表单
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 表单(form)是最常见的从客户往服务器传递数据的方式.Play框架提供了一些工具 ...
- 来玩Play框架06 用户验证
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 用户验证(User Authentification)复合的使用Play框架的数个 ...
- [asp.net core]定义Tag Helpers
原文地址 https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/authoring Getting started wi ...
- Play框架的用户验证。
最近刚刚参与一个基于Play框架的管理平台的升级工作,其中涉及到了用户的验证工作.第一次接触play框架,直接看已有代码,有点晕.因此,自己实现了一个简单的用户验证功能. 首先,新建一个User类,包 ...
- SpringBoot学习笔记(12)----SpringBoot实现多个 账号轮询发送邮件
首先,引入发送邮件的依赖,由于freemarker自定义模板,所以也需要把freemarker的依赖引入 pom.xml文件 <dependency> <groupId>org ...
- play框架之ORM
初次接触play2,采用的ebeans作为ORM框架.网上的资料并不多,总结如下: 数据的查询可以放在model类里,也可以放在controllers里面,我更倾向于后者,感觉数据流比较完整,好理解, ...
- 测开之路一百四十九:jinja2模板之宏
jinja2是python的模板引擎, 在写python web使用的过程中,macro可以节省大量的代码 比如上一篇的渲染页面 <!DOCTYPE html><html lang= ...
随机推荐
- 【Leetcode】【Medium】Binary Tree Right Side View
Given a binary tree, imagine yourself standing on the right side of it, return the values of the nod ...
- window 服务注册、卸载
1.以管理员身份打开 命令窗口 2.服务注册命令:sc create myServer binpath= path 3.服务卸载命令:sc delete myServer Topshelf 服务安装 ...
- 面向对象编程——parent—this
PHP5 中使用 parent::来引用父类的方法. parent:: 可用于调用父类中定义的成员方法. parent::的追溯不仅于直接父类. PHP5 中为解决变量的命名冲突和不确定性问题,引入关 ...
- MacOS上好用的软件
持续补充中…… 记录一些除了MacOS(Sierra)自带工具外,其他好用的软件. 截屏软件 Jietu——在AppStore中查找“Jietu”就可以找到这款软件.这是腾讯出品的一款用于MacOS系 ...
- 三、基于任务的异步模式(TAP),推荐使用
一.引言 在上两个专题中我为大家介绍.NET 1.0中的APM和.NET 2.0中的EAP,在使用前面两种模式进行异步编程的时候,大家多多少少肯定会感觉到实现起来比较麻烦, 首先我个人觉得,当使用AP ...
- 使用redux开发的简单步骤
一.安装redux包 npm install redux --save 二.根据APP数据结构或者后台请求的数据结构拟定state的大致结构. 可以把state写成一个对象字面量,放在reducer文 ...
- Intellij IDEA 格式化代码
- hdu 3068 最长回文_Manacher模板
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/neng18/article/details/24269469 pid=3068" rel= ...
- pcel安装的mongodb的两个问题的解决方案
最近工作需要,要使用mongodb,这个是使用 pecl 安装的,跟标准的 mongo 使用还是有区别的,这里不讲区别,只讲两个比较典型的问题该如何处理,具体的文档大家可以直接参考 php 的官方文档 ...
- swagger ui和spring boot集成生成api文档
作者:小莫链接:https://www.zhihu.com/question/28119576/answer/134580038来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...