AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.01.2010, 20:38   #1  
Jbanoff is offline
Jbanoff
Участник
 
3 / 10 (1) +
Регистрация: 05.01.2010
Проблема с кодировкой при работе с почтой
Конфигурация: CRM 4.0 + MS SQL 2005 + E-Mail Router.

При создании действия "Электронная почта" и последующей отправке его средствами E-Mail Router, почтовый клиент The Bat напрочь не распознает кодировку UTF-8 и следовательно отображает письмо не корректно. Есть ряд клиентов, которые используют данный почтовый клиент.

При создании письма средствами почтового клиента The Bat и отправке его пользователю системы CRM (в дальнейшем письмо забирает E-Mail Router), при просмотре этого письма в системе CRM все превращается в одну строчку (отсутствует форматирование).

Каким образом сделать отправку почты универсальной, чтобы различные почтовые клиенты смогли корректно отображать кодировку?
Старый 05.01.2010, 22:39   #2  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Кодировка e-mail для роутера
Кодировка в IE 6
Кодировка MS CRM e-mail router.

Цитата:
Сообщение от Jbanoff Посмотреть сообщение
При создании действия "Электронная почта" и последующей отправке его средствами E-Mail Router, почтовый клиент The Bat напрочь не распознает кодировку UTF-8 и следовательно отображает письмо не корректно.
Хм... а разве в The Bat нет принудительной перекодировки письма?
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога

Последний раз редактировалось slivka_83; 05.01.2010 в 22:42.
Старый 05.01.2010, 23:30   #3  
Jbanoff is offline
Jbanoff
Участник
 
3 / 10 (1) +
Регистрация: 05.01.2010
Цитата:
Сообщение от slivka_83 Посмотреть сообщение
Хм... а разве в The Bat нет принудительной перекодировки письма?
Не воспроизводит ни как.

Нашел параметр в Е-Mail Router "codepage" установлен utf-8. При изменении его на другую кодировку, возвращается в исходной состояние.

Можно ли отпралять сообщение из CRM в виде текста, а не HTML? Или каким образом перекодировать сообщение на лету.
Старый 06.01.2010, 16:26   #4  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
html врятли... письма в crm предствлят из себя аттачи из html-файлов. Разве что как-нить преодбразовать на почтовом сервере, который используется для пересылки,
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 06.01.2010, 17:02   #5  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от 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
	}
}
Регистрировать его надо таким образом:

__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit

Последний раз редактировалось a33ik; 06.01.2010 в 17:50.
Старый 06.01.2010, 19:44   #6  
Jbanoff is offline
Jbanoff
Участник
 
3 / 10 (1) +
Регистрация: 05.01.2010
Цитата:
Сообщение от a33ik Посмотреть сообщение
Теоретически это можно сделать, но я в таком не упражнялся. Можно попытаться плагином перехватить момент создания/изменения письма и при помощи регулярных выражений преобразовать содержимое в текст. Но это только теория.
Обязательно попробую. Основная проблема - это кодировка utf-8. Необходимо чтобы письмо отправлялось с кодировкой koi8-r или windows-1251.

Продолжая разбираться с кодировкой поставил smtp прокси (mime-proxy). Эта штука умеет перекодировать на лету сообщения, получилось перебрасывать utf-8 в koi8-r. Но опять засада поддерживает только text/plain, а надо text/html. Следовательно проблема разрешилась частично. Заголовки и тема в koi8-r, а содержимое письма в utf-8.

Последний раз редактировалось Jbanoff; 06.01.2010 в 20:39.
Старый 06.01.2010, 21:11   #7  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Цитата:
Сообщение от a33ik Посмотреть сообщение
Можете поделиться откуда почерпнули информацию про аттачи?
Могу ошибаться но вроде в IG... правдв давно это было...
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с действиями сервиса(CRM 4.0) Archon Dynamics CRM: Функционал 6 08.07.2009 14:33
Проблема при создании мероприятия ShurikEv Dynamics CRM: Функционал 2 03.11.2008 18:26
Проблема с отправкой почты из CRM Zus Dynamics CRM: Администрирование 1 03.04.2007 07:37
Проблема с почтой в CRM 3.0 amg Dynamics CRM: Администрирование 1 25.10.2006 22:17
Проблема с почтой Hungrymar Dynamics CRM: Функционал 0 20.04.2006 16:32

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:57.