Показать сообщение отдельно
Старый 19.11.2010, 09:11   #11  
ena_ax is offline
ena_ax
Участник
 
254 / 46 (2) +++
Регистрация: 06.12.2006
Цитата:
Сообщение от AndyD Посмотреть сообщение
У меня нет 4-ки, пишу на основе 2009-й, но так как в обоих используется CDO.Message, то должно быть похоже

Можно попробовать два варианта

Первый можно использовать при отсылке сообщения с вложением, но без текстового или html-ного содержания
Добавить в класс SysMailer метод Com()
X++:
Com Com()
{
    ;
    return _com;
}
При отсылке сообщения добавьте
X++:
Com com;
;
...    
    mailer.tos().appendAddress("aaa@mail.ru");
    com = mailer.Com();
    com = com.bodyPart();
    com.ContentTransferEncoding("base64");

Второй - если необходимо отправлять письма с текстом и с вложениями
В метод Add() класса SysMailerAttachments внести изменения
X++:
void add(str _url)
{
    InteropPermission permission = new InteropPermission(InteropKind::ComInterop);
    Com com;
    ;
    permission.assert();
 
    //BP Deviation Documented
    com =_email.addAttachment(_url);
    com.ContentTransferEncoding("base64");
}
В письмо всегда добавлять текст или html
X++:
mailer.htmlBody("<b>Накладная</b>");
В остальном, ваш код менять не надо
Все заработало, спасибо!
Жаль, что кроме репутации, на форуме нельзя передать бутылочку холодного пива! :-)

В принципе отправляет вложение с текстом и без модификации класса SysMailerAttachments.
При этом вставлял текст
mailer.body("bodyTest");
и так
mailer.htmlBody("<b>Накладная</b>");

В обоих случаях все Ок. Или в первом варианте могут быть проблемы?