Цитата:
Сообщение от
slivka_83
html врятли... письма в crm предствлят из себя аттачи из html-файлов. Разве что как-нить преодбразовать на почтовом сервере, который используется для пересылки,
Можете поделиться откуда почерпнули информацию про аттачи? Вот такой запрос - Select Description From Email
мне говорит совсем о другом - что тело письма хранится в самой таблице с имейлами.
Цитата:
Сообщение от
Jbanoff
Можно ли отпралять сообщение из CRM в виде текста, а не HTML? Или каким образом перекодировать сообщение на лету.
Теоретически это можно сделать, но я в таком не упражнялся. Можно попытаться плагином перехватить момент создания/изменения письма и при помощи регулярных выражений преобразовать содержимое в текст. Но это только теория.
UPD. Написал вот такой плагин:
X++:
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Crm.Sdk;
using Microsoft.Crm.SdkTypeProxy;
using Microsoft.Crm.Sdk.Query;
namespace Plugins
{
public class SendMessageHandler : IPlugin
{
#region IPlugin Members
public void Execute(IPluginExecutionContext context)
{
if (context.MessageName == MessageName.Send)
{
Guid emailId = (Guid)context.InputParameters["EmailId"];
ICrmService crmservice = context.CreateCrmService(true);
email _email = (email)crmservice.Retrieve(EntityName.email.ToString(), emailId, new ColumnSet(new string[] { "description" }));
if (string.IsNullOrEmpty(_email.description))
return;
string _emailBody = _email.description;
_emailBody = _emailBody.Replace("</P>", Environment.NewLine);
_emailBody = ((new System.Text.RegularExpressions.Regex("<[^>]*>")).Replace(_emailBody, ""));
_email.description = _emailBody;
crmservice.Update(_email);
}
}
#endregion IPlugin Members
}
}
Регистрировать его надо таким образом: