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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.12.2019, 12:40   #6  
SuperStar88 is offline
SuperStar88
Участник
 
81 / 10 (1) +
Регистрация: 11.08.2017
Цитата:
Сообщение от dech Посмотреть сообщение
Мы лично в new() ничего не указываем, вот пример корректного использования.
Тоже в new() ничего не указываю, какой-то глюк в обычном функционале
X++:
public boolean sendEmail()
{
    #define.Event("Event")

    str                                 liq_message;
    SysMailer                           liq_Mailer;
    SysMailerAddressField               liq_tos;

    SysEmailMessageTable                message;
    SysEmailTable                       emailTable;
    boolean                             liq_mailInitialized;

    Responsibility_ZTR      responsibility;
    SysUserInfo             sysUserInfo;
    SysCompanyUserInfo      sysCompanyUserInfo;

    boolean                 ret = false;

    void liq_initMail()
    {
        SysEmailParameters parameters = SysEmailParameters::find();
        InteropPermission interopPermission;
        ;
        interopPermission = new InteropPermission(InteropKind::ComInterop);
        interopPermission.assert();
        
        liq_Mailer = new SysMailer();
        if(parameters.smtpRelayServerName)
        {
            liq_Mailer.SMTPRelayServer(parameters.smtpRelayServerName,
                parameters.smtpPortNumber,
                parameters.smtpUserName,
                SysEmailParameters::password(),
                parameters.ntlm);
        }
        else
        {
            liq_Mailer.SMTPRelayServer(parameters.smtpServerIPAddress,
                parameters.smtpPortNumber,
                parameters.smtpUserName,
                SysEmailParameters::password(),
                parameters.ntlm);
        }
        liq_mailInitialized = true;
    }
    ;

    subjectMail = this.setSubjectMail();
    liq_message = this.setMessage();

    emailTable = SysEmailTable::find(#Event);
    while select EmplId from responsibility
    {
        select UserId from sysCompanyUserInfo where sysCompanyUserInfo.EmplId == responsibility.EmplId
            join Email from sysUserInfo where sysUserInfo.Id == sysCompanyUserInfo.UserId;

        if(!liq_mailInitialized)
            liq_initMail();

        if (liq_Mailer != null && SysEmailDistributor::validateEmail(sysUserInfo.Email))
        {
            liq_Mailer.fromAddress(emailtable.SenderAddr);
            liq_Mailer.subject(subjectMail);
            liq_tos = liq_Mailer.tos();
            liq_tos.clear();
            liq_Mailer.tos().appendAddress(sysUserInfo.Email);
            liq_Mailer.priority(1);
            liq_Mailer.htmlBody(liq_message);
            liq_Mailer.sendMail();

            ret = true;
        }
    }
    return ret;
}
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка 0x80040211 на одном из аосов при отправке письма at5454 DAX: Программирование 4 20.04.2015 10:33
emeadaxsupport: AX Performance Troubleshooting Checklist Part 1B [Application and AOS Configuration] Blog bot DAX Blogs 0 05.09.2014 21:11
Ошибка при развертывании в AX 2009 Reporting services oleg_e DAX: Администрирование 28 30.07.2013 20:18
Sample Design Patterns: Upgrade to Microsoft Dynamics AX 2009 and issues with the global address book Blog bot DAX Blogs 0 21.12.2010 11:11
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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