Показать сообщение отдельно
Старый 27.01.2011, 19:39   #18  
someOne is offline
someOne
Участник
Аватар для someOne
 
174 / 432 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Цитата:
Сообщение от timaluhs Посмотреть сообщение
SomeOne
просто весь интернет пестрит сообщениями что можно послать email без прикреплённого файла, а если с файлом то только код dot.net и все любезно предлагают образцы кода. Попробую посмотреть класс. Спасибо
Можно пример или ссылку msdn очень скуп.
server static void sendMail(
SysEmailSystemId _emailId,
LanguageId _language,
str _emailAddr,
Map _mappings = null,
FilenameOpen _attachmentfileName = '',
str _xmlData = '',
boolean _isTraceable = false,
userId _userId = '',
boolean _isWithRetries = false)

откуда берётся SysEmailSystemId _emailId? где сохраняется body, subject, to, from...
пока не очень понятно
Что то про это было написано тут http://axapta.mazzy.ru/lib/email/

Если кратко - то так:
1. Настраиваем параметры почтового сервера в форме – администрирование – настройки – параметры электронной почты

2. Создаем шаблон почтового сообщения в форме основное – настройка – шаблоны сообщений эл. Почты. Установить бокс «показать электронную почту системы»
При этом поле «код электронной почты» - и будет SysEmailSystemId. Если на закладке «Разное» в поле «Группа пакетов» указать код группы пакетов – сообщение будет отправляться сервером пакетной обработки, а не в режиме «онлайн».
Это удобно, например, когда рассылка осуществляется, например, при обновлении записи таблицы. Позволяет отделить процесс отправки сообщения в отдельный поток, и пользователю не придется ожидать окончание отправки сообщения, например при обновлении записи.

В нижнем гриде так же добавляем новую запись – там можно указывать шаблоны, каждый для отдельного языка. При нажатии кнопки «шаблон» - открывается окно редактора, где вводится шаблон самого сообщения.

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

“Уважаемый %User%, запрашиваемый вами файл с отчетом %ReportName% в прикрепленном файле”.

Кстати, так же шаблоном можно указать и тему сообщения, например '%subject%' в поле "тема"

3. Сам код отправки сообщения:
X++:
static server void mail_testServer(Args _args)
{
    map mappings;
    ;

            mappings = new map(Types::String, Types::String);

            mappings.insert("User",         "Василий Пупкин");
            mappings.insert("ReportName", "Отчет о движении денежных средств");
            mappings.insert("subject", "Тестовое сообщение");

            SysEmailSystemTable::sendMail('test', "ru", 'pupkin@mail.ru', mappings);
}
Если не использовать шаблоны сообщений - то все проще.
Вот код отправки сообщения через сервер пакетной обработки
X++:
static void Job25(Args _args)
{
    SysEmailBatch   SysEmailBatch;
    ;
    SysEmailBatch = new SysEmailBatch();
    SysEmailBatch.parmEmailAddr("im@mail.ru");
    SysEmailBatch.parmMessageBody("test");
    SysEmailBatch.addAttachmentfileName("C:\\boot.ini");
    SysEmailBatch.parmSenderAddr("ss@mail.ru");
    SysEmailBatch.sendToBatch("mail"); //имя пакетной группы, нужно создать такую е
}
Если нужна отправка онлайн - то последняя строка - SysEmailBatch.run();
За это сообщение автора поблагодарили: ice (2), mikki_messer (1).