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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.01.2011, 10:18   #1  
timaluhs is offline
timaluhs
newborn in DAX
Аватар для timaluhs
 
102 / 10 (1) +
Регистрация: 16.12.2010
Адрес: Израиль
Посылка письма с прикреплённым файлом через batch на серверe
У меня тут проблема. Надо посылать почту с прикреплённым файлом. Нашла дот.нет код. с клиентской машины посылает как часы. Теперь задачка усложнилась. Не все пользуются клиентом, по большей части народ пользуется ТС. Там нет никакого почтового агента, соответственно письмо не посылается. Написан класс, который будет запускаться из batch на сервере и посылать письмо каждые 5-10 минут. Всё путём но почему-то на первой строчке выдаёт ошибку
Request for the permission of type 'InteropPermission' failed. Object 'CLRObject' could not be created
Отчего такая непонятная ошибка. Можно как-то как делать отладку в батч? Любые идеи please, я уже несколько дней мучаюсь.
причём перестал реагировать на try catch Спасибо
вот код
X++:
public int mlm_SendMailAttachment( str Body, str Subject, str FileName, str to, str sender)
{
    System.Net.Mail.MailAddress             mailAddressFrom;
    System.Net.Mail.MailAddress             mailAddressTo;
    System.Net.Mail.MailMessage             mailMessage;
    System.Net.Mail.Attachment              attachment;
    System.Net.Mail.AttachmentCollection    attachementCollection;
    System.Net.Mail.SmtpClient              smtpClient;

    str                                     SMTPServer;

    FileIOPermission                        perm;
    System.Exception                        e;
    ;

    try
    {
        mailAddressFrom = new System.Net.Mail.MailAddress(sender);// вылетает тут
        mailAddressTo =  new System.Net.Mail.MailAddress(to);
        SMTPServer = SysEmailParameters::find(false).SMTPRelayServerName;
        mailMessage = new System.Net.Mail.MailMessage(mailAddressFrom, mailAddressTo);
        mailmessage.set_Subject(Subject);
        mailmessage.set_Body(Body);
        mailmessage.set_IsBodyHtml(true);
        attachementCollection = mailMessage.get_Attachments();
        perm = new FileIOPermission(FileName,'rw');
        perm.assert();
        attachment = new System.Net.Mail.Attachment(FileName);
        attachementCollection.Add(attachment);
        smtpClient = new System.Net.Mail.SmtpClient(SMTPServer);
        smtpClient.Send(mailmessage);
        CodeAccessPermission::revertAssert();
       mailmessage.Dispose();
        attachment.Dispose();
        return 1;
    }
    catch(Exception::CLRError)
    {
        info (strfmt("error sent email to  ל %1" , to));
        info(CLRInterop::getLastException().ToString());

       return 0;
    }
}
Теги
email batch, atachment

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axaptapedia: Batch processing Blog bot DAX Blogs 0 29.01.2009 17:05
axaptabuilder: How to setup Axapta batch server running as user defined windows service Blog bot DAX Blogs 0 12.04.2007 16:10
Как указать отправителя при передаче письма через Mapi wit DAX: Программирование 1 14.01.2005 17:08

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

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

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