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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.01.2012, 19:09   #1  
Corel is offline
Corel
Участник
Ex AND Project
 
73 / 15 (1) ++
Регистрация: 19.04.2007
SysOutlookApplication vs smmOutlookEmail
Здравствуйте.
Перевожу систему с 3.0 на 2009
Столкнулся с несколькими местами, где в 3-ке идёт отправка сообщений, примерно так:

X++:
void sendMail(str subject, str text, str to, Set att)
{
    SysOutlookMailItem      mailItem;
    SysOutlookApplication   outlook;
    COM                     com;
    SetIterator             si = new SetIterator(att);
    ;

    outlook = new SysOutlookApplication();
    #SysOutlookCOMDEF
    while(si.more())
    {
        com = outlook.CreateItem(0);
        mailItem = new SysOutlookMailItem(com);
        mailItem.Subject(subject);
        mailItem.Attachments().Add(COMVariant::createFromStr(si.value()));
        mailItem.SafeSend(to);
        si.next();
    }
}
В 2009 аналогичного класса не нашёл, там, где он использовался, идёт инициализация соответсвующих COM-объектов:

X++:
    com                   outlook;
    com                   mailItem;
    COM                  com;

                outlook = new com("Outlook.Application");
                sysOutlookNameSpace = outlook.getNamespace("MAPI");
                sysOutlookNameSpace.logon();
                sysOutlookMAPIFolder    = sysOutlookNameSpace.getDefaultFolder(#OlDefaultFolders_olFolderCalendar);
                com = sysOutlookMAPIFolder.items();
                mailItem = com.add();
                mailItem.Subject("Тема");
                mailItem.Body("Текст");
                mailitem.To("Адресат");
                mailItem.Send();
Так же есть класс smmOutlookEmail, который, вроде бы, тоже вполне справляется с отправкой писем. Собственно, вопрос в чём: нет ли каких-то подводных камней тут? Что умеет делать SysOutlookApplication, чего не умеет smmOutlookEmail?
Старый 23.01.2012, 22:38   #2  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Я так понимаю, глубокий смысл отправки почты через Outlook в том, чтобы она уходила от имени текущего пользователя, да? Если такое требование не стоит, то зачем вам зоопарк классов отправки почты? Чем не устраивает SysMailer? В 2009-й он уже отвязан от DundasMailer'а и использует штатную виндовую библиотеку cdosys в качестве SMTP-клиента.
Старый 24.01.2012, 11:39   #3  
Corel is offline
Corel
Участник
Ex AND Project
 
73 / 15 (1) ++
Регистрация: 19.04.2007
Система писалась не мной, поэтому на вопрос "зачем так сделано?" ответа дать не могу. Насколько я вижу, да, отправка везде идёт от имени текущего пользователя.
Теги
outlook, ax2009

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
как получить адрес отправителя (SysOutlookApplication)? if_maks DAX: Программирование 9 18.11.2008 18:09

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

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

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