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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.02.2011, 13:20   #1  
someOne is offline
someOne
Участник
Аватар для someOne
 
174 / 432 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Вообще то в своем посте я писал про аксапту 2009.

С Аксаптой 3.0 все несколько сложнее. Компонент COM Dundas.Mailer который там используется - достаточно глючной.

Для отправи нормальных "русских" сообщений требует небольшого тюнинга.


В методе run класса SysEmailBatch нужно дописать такие строки:

X++:
#define.charSet("Windows-1251")

if (this.parmSubject())
{
    mailer.subject(mailer.encodeHeader(this.parmSubject(), #charSet));
}

mailer.HTMLBodyCharSet(#charSet);
Это должно помочь.

Но тем не менее, это не позволит добиться качественного просмотра письма во всех почтовых клиентах (которые эту почту будут просматривать).

Будут ошибки с кодировкой в некоторых случаях (их не много по моим оценкам), но решить проблемы полностью в dundas.Mailer-е мне не удалось.

Кстати, в Ax2009 от Dundas.Mailer отказались, там используется для отправления почты родной для MS компонент COM cdo.message, с ним никаких ошибок не замечено.
Все работает корректно, с кодировкой проблем нет.

Кстати он легко переносится с ax2009 в ax 3.0. Делал такое, пару классов придется портировать...
За это сообщение автора поблагодарили: Logger (3), Ace of Database (3).
Старый 09.02.2011, 13:31   #2  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от someOne Посмотреть сообщение
Кстати, в Ax2009 от Dundas.Mailer отказались, там используется для отправления почты родной для MS компонент COM cdo.message
В Ax 4.0 тоже используется cdo.message.
Старый 09.02.2011, 13:49   #3  
kostass is offline
kostass
Участник
 
37 / 13 (1) ++
Регистрация: 27.08.2009
Адрес: Владимир
Цитата:
Сообщение от someOne Посмотреть сообщение
В методе run класса SysEmailBatch нужно дописать такие строки
Спасибо, сейчас попробую.

Цитата:
Сообщение от someOne Посмотреть сообщение
Кстати он легко переносится с ax2009 в ax 3.0. Делал такое, пару классов придется портировать...
А какие классы, не подскажите?
__________________
Axapta 3.0 SP6
Старый 09.02.2011, 14:48   #4  
someOne is offline
someOne
Участник
Аватар для someOne
 
174 / 432 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Цитата:
Сообщение от kostass Посмотреть сообщение
Спасибо, сейчас попробую.


А какие классы, не подскажите?
Я переносил классы, но не "поверх" старых, а в новые, с префиксом
SysMailer --> new_SysMailer
SysMailerAttachments --> new_SysMailerAttachments
SysEmailBatch --> new_SysEmailBatch

Там придется удалить все "InteropPermission" - они не используется в 3,0.
Еще какие то особенности есть (по моему там что то парсерах HTML от NET использовалось, но это легко обходится без применения NET)

Выкладываю проект, не уверен что он полностью скомпилируется у вас, но думаю поймете что не так если что...
Вложения
Тип файла: xpo cdoMail.xpo (45.6 Кб, 523 просмотров)
За это сообщение автора поблагодарили: kostass (1).
Старый 09.02.2011, 14:57   #5  
kostass is offline
kostass
Участник
 
37 / 13 (1) ++
Регистрация: 27.08.2009
Адрес: Владимир
Цитата:
Сообщение от someOne Посмотреть сообщение
Выкладываю проект, не уверен что он полностью скомпилируется у вас, но думаю поймете что не так если что...
Думаю, что разберемся.

Огромное спасибо!
__________________
Axapta 3.0 SP6
Старый 09.02.2011, 14:19   #6  
kostass is offline
kostass
Участник
 
37 / 13 (1) ++
Регистрация: 27.08.2009
Адрес: Владимир
Цитата:
Сообщение от someOne Посмотреть сообщение
В методе run класса SysEmailBatch нужно дописать такие строки:

X++:
#define.charSet("Windows-1251")

if (this.parmSubject())
{
    mailer.subject(mailer.encodeHeader(this.parmSubject(), #charSet));
}

mailer.HTMLBodyCharSet(#charSet);
Это должно помочь.
Действительно помогло!
Читаю письма Аутглюком 2003.
__________________
Axapta 3.0 SP6
Теги
batch, mail, sendemailrequest

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axaptapedia: Batch processing Blog bot DAX Blogs 0 29.01.2009 17:05
Fred Shen: New server-based batch framework in AX2009 Blog bot DAX Blogs 0 04.09.2008 07:06
Axapta 3.0 и поддержка русского языка. 4you DAX: Функционал 3 28.07.2006 17:15
Axapta 3.0 SP4 - нет русского языка Grimly DAX: Администрирование 3 06.12.2005 12:53
Нет доступного лицензионного кода для языка Ice_Alex DAX: Прочие вопросы 3 28.03.2005 12:06

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

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

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