e-mail
Outlook
вложение
шаблон
Интеграция и импорт данных
Разработка

Программно присоединить файл как вложение к e-mail

Здравствуйте,
можно ли программно присоединить к создаваемому по шаблону е-мэйлу файл, как вложение.

Е-мэйл создается с помощью стандартной ф-ии:
function SendEmailByAddress(MailUtils, TemplateFileName, Address, Subject) {
// by default 'false' means immediate message sending
// 'true' means putting message to 'Outbox' Outlook folders
var SendResult = MailUtils.SendMessage(TemplateFileName, Address,
Subject, false);
if (!SendResult) {
SendResult = false;
}
return SendResult;
}

Или может быть есть другие решения задачи?

Версия Terrasoft CRM 3.0.2.245 под Firebird.

Нравится

14 комментариев

Здравствуйте Юрий,
Попробуйте воспользоватся советама в теме http://www.community.terrasoft.com.ua/forum/topic/6788

Действительно в случае с MailUtils.SendMessage(.......) получилось прикрепить вложение, добавив параметр Attachments.

Еще вопрос можно ли аналогичное действие реализовать при создании е-мэйла через MailUtils.CreateMessage(TemplateFileName, MailAddress, MailSubject).
Просто подстановка еще одного параметра Attachments не проходит, выдается ошибка (насчет, количество параметров не соответствует).

Используйте из scr_MailUtils
[javascript]
function CreateEmptyMessageWithAttachments(MailAddress, MailSubject, BodyFormat,
CodePage, Importance, Attachments)
[/javascript]

Евгений,
к сожалению в этой версии (3.0.2.245) в scr_MailUtils функции CreateEmptyMessageWithAttachments нет.
Есть только:
[javascript]
function CreateEmptyMessage(MailAddress, MailSubject) {
var MailUtils = GetMailUtils();
MailUtils.CreateEmptyMessage(MailAddress, MailSubject);
}

function CreateMessageFromTemplate(TemplateFileName, MailAddress, MailSubject) {
var MailUtils = GetMailUtils();
MailUtils.CreateMessage(TemplateFileName, MailAddress, MailSubject);
}
[/javascript]

Вы можете выложить Текст скрипта scr_MailUtils?

Да, выкладываю.

Выложите именно текст скрипта а не сам сервис (чуть внимательнее ;))

Выкладываю, текст скрипта

Добавьте в скрипт этот код
[javascript]
function CreateEmptyMessageWithAttachments(MailAddress, MailSubject, BodyFormat,
CodePage, Importance, Attachments) {
if (!GetCanCreateMessage(true)) {
return;
}
var MailUtils = GetMailUtilsWithoutMacroses();
if (IsEmptyValue(MailAddress)) {
MailAddress = '';
}
if (IsEmptyValue(MailSubject)) {
MailSubject = '';
}
if (IsEmptyValue(BodyFormat)) {
BodyFormat = 1;
}
if (IsEmptyValue(CodePage)) {
CodePage = '';
}
if (IsEmptyValue(Importance)) {
Importance = 1;
}
MailUtils.CreateEmptyMessage(MailAddress, MailSubject, BodyFormat,
CodePage, Importance, Attachments);
}
[/javascript]
А потом попробуйте его вызвать.
50/50 что заработает т.к. непонятна версия вашей библиотеки TSOutlookLibrary

Чем всё закончилось?

На вызов:
MailUtils.CreateEmptyMessage(MailAddress, MailSubject, BodyFormat, CodePage, Importance, Attachments);
появляется ошибка:
Недопустимое число аргументов или присвоение значения свойства.

Эх....
Похоже в вашей версии этого нет.

Да, видимо так.
Похоже это добавили начиная с версий 3.0.4.

Здравствуйте, Юрий!

Да, к сожалению функциональные возможности 3.0.2 довольно ограничены в сравнении с более поздними версиями.

Инна Безверхняя,
II линия службы поддержки Terrasoft

Показать все комментарии