|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от 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... пока не очень понятно Если кратко - то так: 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"); //имя пакетной группы, нужно создать такую е } |
|
|
За это сообщение автора поблагодарили: ice (2), mikki_messer (1). |
![]() |
#2 |
newborn in DAX
|
воспользовалась вторым вариантом без шаблонов.
Добавила в мой класс в метод run. Почему-то не находит файл который надо прикреплять. Письмо приходит без него. При запуске нет никаких сообщений об ошибке. И письмо попадает в спам корзину. Тоже не очень хорошо - не все её проверяют и обращают внимание что там прибавилось письмо. если написать реальный адрес в поле от кого, то письмо попадает во входящие. Одной головной болью меньше добавила проверку WInAPI::fileExists(_fileName), возвращает true , но прикреплять не хочет Последний раз редактировалось timaluhs; 30.01.2011 в 11:12. |
|
![]() |
#3 |
Участник
|
У вас WInAPI::fileExists(_fileName) возвращает true на клиенте, а отправка писем происходит на стороне сервера. И там WinAPIServer::fileExists(_fileName) скорее всего возвращает false. Таким образом можно прикрепить к письму только файлы с сетевым путём типа "\\сервер\папка\файл".
__________________
Дмитрий |
|
![]() |
#4 |
newborn in DAX
|
Не может на кленте возвращаться true - там просто не существует какого пути.
А путь я действительно указываю полный - вместе с сервером. а тут Отправка письма при помощи SysEmailBatch. Проблема с прикреплением файла написано, что добавляются файлы которые указаны в Администрировнаие\Настройки\Параметры и из какой папки можно добавлять файлы. Теперь файл добавляется, но без расширения. Т.е что бы открыть надо указат, чем открыть. А я знаю, что посылается картинка и получатели не будут особо напрягаться - ну не открывается - пришли по новой. |
|
![]() |
#5 |
newborn in DAX
|
В каком-то из постов написали что надо починить \\Tables\SysEmailTable\Methods\isFromAttachmentsFolder(), чтобы мог забирать прикреплённые файлы из любого каталога.
нашла оригинальный пост AX 2009: Игнорируется аттачмент - CDO.Message Последний раз редактировалось timaluhs; 10.02.2011 в 09:35. |
|
Теги |
email batch, atachment |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|