Как отправить из 1с 7.7 файл по электронной почте - Общие вопросы по 1С 7.7 - 1С v.7.7 - Каталог статей - Программирование в 1С
Программирование в 1СПонедельник, 22.12.2014, 04:46

Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта

Форма входа

Категории раздела
Основы [36]
Общие вопросы по 1С 7.7 [88]
1С: Бухгалтерия 7.7 [7]
1С: Торговля 7.7 [4]
1С:Зарплата и кадры 7.7 [1]
1С 7.7: Проблемы и решения [33]
УРБД [3]
Управление Распределенными Базами Данных
OLE [2]
Механизм обмена данными между базами 1С через OLE
SQL [1]
Сервер терминалов [1]
Интеграция с внешними приложениями [3]
FAQ по 1С v.7.7 [7]
FAQ по 1С v.7.7

Поиск

Поиск по сайту

Главная » Статьи » 1С v.7.7 » Общие вопросы по 1С 7.7

Как отправить из 1с 7.7 файл по электронной почте
Как отправить из 1с 7.7 файл по электронной почте
 
Первый вариант. Работает на стандартной компоненте V7Plus 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;
КонецФункции

Второй вариант: с использованием внешней компоненты 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 Тогда 
   Предупреждение(“Письмо успешно отправлено получателю”);
Иначе 
   Предупреждение(“Не удалось отправить письмо!”);
КонецЕсли;
ВК.Отключиться();

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

ОтправитьПочту(БанкEMail,ОтКогоEMail,“Файл импорта “,,сКатал+сФайл);
Категория: Общие вопросы по 1С 7.7 | Добавил: Spacer (20.08.2008)
Просмотров: 8209
Всего комментариев: 0
Имя *:
Email:
Код *:
Друзья сайта
  • Создать сайт
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Все проекты компании

  • Статистика

    Онлайн всего: 0
    Гостей: 0
    Пользователей: 0

    Copyright 1C:Programmer © 2014
    Бесплатный конструктор сайтов - uCoz