Консультация № 144303
18.09.2008, 14:53
0.00 руб.
0 3 3
Подскажите пожалуйста как отправить из 1с 7.7 файл по электронной почте. Буду благодарна за пример кода.

Обсуждение

Неизвестный
18.09.2008, 15:25
общий
это ответ
Здравствуйте, Оксана/kasy!


Процедура ОтправитьПочту(КомуОтправить,ОтКогоОтправить,ТемаПисьма,ТекстПисьма,Вложение)
ЗагрузитьВнешнююКомпоненту("WheelAddIn.dll");
ВнКомпонент = СоздатьОбъект("AddIn.FWheelAddIn");

csFrom = СокрЛП(ОтКогоОтправить);
csTO = СокрЛП(КомуОтправить);
csSUBJECT = СокрЛП(ТемаПисьма);
csTEXT = ТекстПисьма;
Если ПустоеЗначение(Вложение) = 0 Тогда
csATTACH = СокрЛП(Вложение);
Иначе
csATTACH = "";
КонецЕсли;
Если ВнКомпонент.ОтправитьПочтуПоSMTP(MailServer, csFrom, csTO,,, csSUBJECT,csTEXT,csATTACH) = 1 Тогда
Сообщить("Электронная почта на адрес "+csTO+" отправлена!!!","!!");
Иначе
Сообщить(ВнКомпонент.ОшибкаПриОтпракеПочты());
КонецЕсли
КонецПроцедуры


ОтправитьПочту(БанкEMail,ОтКогоEMail,"Файл импорта ",,сКатал+сФайл);
Неизвестный
19.09.2008, 07:34
общий
это ответ
Здравствуйте, Оксана/kasy!
Я использую внешнюю компоненту ROM-Mail.dll. Данная компонента работает независимо как почтовый клиент, в отличии от встроенного который подгружает Аутлук.
код см в приложении
Удачи!


Приложение:
ЗагрузитьВнешнююКомпоненту("ROM-Mail.dll");
ВК = СоздатьОбъект("AddIn.AddInMail");
ВК.СерверОтправки = "192.168.1.5";
ВК.ПортОтправки = "25";
ВК.Логин = "login";
ВК.Пароль = "password";
ВК.АутентификацияПриОтправке = 1;
Если ВК.Подключиться("Отправка")=0 Тогда
Предупреждение("Не удалось подключиться к серверу!");
Возврат;
КонецЕсли;
ВК.АдресОтправителя = "mail@mail.com";
ВК.ИмяОтправителя = "1С:Предприятие 7.7";
ВК.АдресПолучателя = "poluchatel@mail.ru";
ВК.СкрытаяКопия = "poluchatel2@mail.ru";
ВК.ТипПисьма = 2;
ВК.Тема = "ТЕст";
ВК.Тело = "Тестю";
ВК.Вложения = "D:\Базы1С\Архив.zip";
ВК.Кодировка ="windows-1251";
ВК.НеКодироватьТему = 0;
ВК.ПодтверждениеДоставки = 0;
ВК.ПодтверждениеПрочтения = 0;
Если ВК.Отправить() = 1 Тогда
Предупреждение("Данная ведомость успешно отправлена в РСК");
Иначе
Предупреждение("Не удалось отправить ведомость!");
КонецЕсли;
ВК.Отключиться();
Неизвестный
19.09.2008, 08:54
общий
это ответ
Здравствуйте, Оксана/kasy! Работает на стандартной компоненте V7 1С Предприятие 7.7 Удачи


Приложение:
//*****************************************************************************
// ОтправитьПоПочте(АдресПолучателя, ИмяФайла)
//
// Параметры:
// АдресПолучателя, ИмяФайла
//
// Возвращаемое значение:
// Отправляет почту
//
// Описание:
//
//
Функция ОтправитьПоПочте(АдресПолучателя, ИмяФайла)
Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "v7plus.dll") <> 1 Тогда
Предупреждение("Компонента v7plus.dll не найдена!");
Возврат 0;
КонецЕсли;
Попытка
Почта = СоздатьОбъект("AddIn.V7Mail");
Исключение
Предупреждение("Не удалось создать объект Addin.V7Mail!");
Возврат 0;
КонецПопытки;


Попытка
Почта.Подключиться();
Почта.НовоеСообщение();

Если ПустоеЗначение(АдресПолучателя) = 0 Тогда
Почта.ДобавитьАдрес(СокрЛП(АдресПолучателя));
Иначе
Предупреждение("У филиала не задан адрес получателя!");
Возврат 0;
КонецЕсли;

Если Фс.СуществуетФайл(ИмяФайла) = 0 Тогда
Предупреждение("Файл не существует - " + СокрЛП(ИмяФайла));
Возврат 0;
КонецЕсли;

// Попытаемся сделать архив
Пос = Найти(ИмяФайла, ".");
ФайлАрхив = Сред(ИмяФайла, 1, Пос-1);
Если Фс.СуществуетФайл(ФайлАрхив+".rar") = 1 Тогда
ФС.УдалитьФайл(ФайлАрхив+".rar");
КонецЕсли;
КомандаСистемы("rar.exe m " + ФайлАрхив + " " + ИмяФайла);
Если Фс.СуществуетФайл(ФайлАрхив+".rar") = 1 Тогда
Почта.ДобавитьФайл(ФайлАрхив+".rar");
Иначе
Почта.ДобавитьФайл(ИмяФайла);
КонецЕсли;

Почта.Заголовок = "Обновления по дисконтным картам";
Почта.Текст = "Обновления по дисконтным картам от " + ДатаК;
Почта.Послать(0);
Почта.Отключиться();

Исключение
Предупреждение("Неудачная попытка! Отправка письма по эл. почте не произведена!");
Возврат 0;
КонецПопытки;

Возврат 1;

КонецФункции

//*****************************************************************************
Форма ответа