Вход | Регистрация

Форумы на Кубань.Ру


1С:Предприятие ::

Метки:

Работа с ROM-Mail.dll

Ø
Я
   Frog
29.11.04 - 10:02
Кто нибудь работал с внешней библиотекой по работе с почтой. Если да откликнитесь.
 
 
   БольшойЧайник
1 - 29.11.04 - 10:03
работаю
   Туxлый
2 - 29.11.04 - 10:08
Я тоже работаю. На фсякий слуяай сразу ссылочки кину
http://rom1c.narod.ru/<br>http://www.perlscript.ru/v77_20.shtml
   Frog
3 - 29.11.04 - 10:16
Короче такая трабла у меня есть пример (взял на сайте)
 Если ЗагрузитьВнешнююКомпоненту("ROM-Mail.dll")=1 Тогда
            глПрямаяПочта = СоздатьОбъект("AddIn.AddInMail");
            глПрямаяПочта.СерверОтправки="10.10.10.1";
            глПрямаяПочта.СерверПриема="10.10.10.1";
            глПрямаяПочта.Логин="Test";
            глПрямаяПочта.Пароль="*****";
            глПрямаяПочта.АутентификацияПриОтправке=0;
         Иначе
            Сообщить("Не удалось загрузить почтовую компоненту!!!","!!!");
            Сообщить("Робот работать не будет!","!!!");
        КонецЕсли;
Почта у меня на mail.ru я делаю
глПрямаяПочта.СерверОтправки="smtp.mail.ru";
глПрямаяПочта.СерверПриема="pop3.mail.ru";
Все вроде инициализация прошла удачно, теперь отправляю
Функция глОтправитьПисьмо(ПармПисьмо,ПармФайлы,ТипАдреса) Экспорт
    Если ТипЗначенияСтр(ПармПисьмо)<>"СписокЗначений" Тогда
        Сообщить("Неправильный формат переменных","!");
        Возврат 0;
    КонецЕсли;
    ТекРезультат=0;
    ТекАдрес=ПармПисьмо.Получить("Адрес");
    ТекТема=ПармПисьмо.Получить("Тема");
    ТекТекст=ПармПисьмо.Получить("ТекстСообщения");
    ТекАвтор=ПармПисьмо.Получить("Автор");
    Если ТипАдреса=0 Тогда
        Если глПрямаяПочта.Подключиться("Отправка")=1 Тогда
            //отправляем так
            глПрямаяПочта.Кодировка="koi8-r";
            глПрямаяПочта.АдресОтправителя="mailrobot@mydomain.local";
            глПрямаяПочта.ИмяОтправителя=ТекАвтор;
            глПрямаяПочта.Тема=ТекТема;
            глПрямаяПочта.Тело=ТекТекст+РазделительСтрок+"С уважением, "+ТекАвтор;
            глПрямаяПочта.АдресПолучателя=ТекАдрес;
            Если ТипЗначенияСтр(ПармФайлы)="СписокЗначений" Тогда
                ТекВложения="";
                Для к=1 по ПармФайлы.РазмерСписка() Цикл
                    ТекВложения=ТекВложения+?(к=1,"",";")+ПармФайлы.ПолучитьЗначение(к);
                КонецЦикла;
                глПрямаяПочта.Вложения=ТекВложения;
            Иначе
                глПрямаяПочта.Вложения="";
            КонецЕсли;
            Если глПрямаяПочта.Отправить()=1 Тогда
                //получилось
                ТекРезультат=1;
                Сообщить("Почта отправлена напрямую на адрес "+ТекАдрес,"i");
            Иначе
                //не получилось
            КонецЕсли;
            глПрямаяПочта.Отключиться();
        КонецЕсли;
        Если ТекРезультат=1 Тогда
        ЗаписьЖурналаРегистрации("<"+ТекАдрес+"> "+ТекТема,"Почта","Отправлена",,3);
    Иначе
        ЗаписьЖурналаРегистрации("<"+ТекАдрес+"> "+ТекТема,"Почта","Ошибка",,5);
    КонецЕсли;
    Возврат ТекРезультат;
КонецФункции
 Так вот он не хочет отправлять, может я что-то настроил не так. На компе прокся, бат с этими настройками работает нормально. И еще в переменной глПрямаяПочта.Адрес автоматом стоит чейто адрес и он не меняется.
   Frog
4 - 29.11.04 - 10:19
И еще вопрос по ходу есть вот такой болок
  Если ЗагрузитьВнешнююКомпоненту("ROM-Mail.dll")=1 Тогда
            глПрямаяПочта = СоздатьОбъект("AddIn.AddInMail");
            глПрямаяПочта.СерверОтправки="10.10.10.1";
            глПрямаяПочта.СерверПриема="10.10.10.1";
            глПрямаяПочта.Логин="Test";
            глПрямаяПочта.Пароль="*****";
            глПрямаяПочта.АутентификацияПриОтправке=0;
            глВнешняяПочта = СоздатьОбъект("AddIn.AddInMail");
            глВнешняяПочта.СерверОтправки="192.168.10.10";
            глВнешняяПочта.СерверПриема="192.168.10.10";
            глВнешняяПочта.Логин="Test";
            глВнешняяПочта.Пароль="*****";
            глВнешняяПочта.АутентификацияПриОтправке=0;
Не совсем понятно чем отличается прямая почта от внешней. За раннее сенькс
   Frog
5 - 29.11.04 - 10:31
Ну что, чувствую попал я в ж...И мне никто не поможет.
   dma
6 - 29.11.04 - 10:37
Функция Выполнить()
  Рез=0; Описание="";// получаем переданные параметры
  Состояние("Чтение параметров");
  Тема=СокрЛП(Перечень.Получить("тема"));
  Тело=СокрЛП(Перечень.Получить("тело"));
  Отправитель=Перечень.Получить("отправитель");
  Если ПустоеЗначение(Отправитель)=1 Тогда
    Описание="Отправка почты. Не переданы данные Отправителя";
    Возврат Рез;
  КонецЕсли;
  СпсПолучателей=Перечень.Получить("получатель");
  Если ПустоеЗначение(СпсПолучателей)=1 Тогда
    Описание="Отправка почты. Не переданы данные Получателя";
    Возврат Рез;
  КонецЕсли;
  СпсФайлов=Перечень.Получить("файлы");
  Флаг=0;
  Если ЗагрузитьВнешнююКомпоненту("ROM-Mail.dll")=0 Тогда
    Возврат Рез;
    Описание="Не удалось загрузить почтовую компоненту ROM-Mail.dll";
  КонецЕсли;
  ВК=СоздатьОбъект("AddIn.AddInMail");
  ВК.ПоказыватьПредупреждения=1;
  ВК.СерверОтправки=СокрЛП(Отправитель.ServerSMTP);
  ВК.Логин=СокрЛП(Отправитель.Имя);
  ВК.Пароль=СокрЛП(Отправитель.Пароль);
  ВК.АутентификацияПриОтправке=Число(Отправитель.ФлагПодлинности);
  Состояние("Подключение к серверу");
  Если ВК.Подключиться("Отправка")=0 Тогда
    Описание="Не удалось подключиться к серверу!";
    Возврат Рез;
  КонецЕсли;
  ВК.АдресОтправителя=СокрЛП(Отправитель.EMail);
  ВК.ИмяОтправителя=СокрЛП(Отправитель.Наименование);
  АдресПолучателя="";
  Для а=1 По СпсПолучателей.РазмерСписка() Цикл
    ПерПолучатель=СпсПолучателей.ПолучитьЗначение(а);
    П_АдресПолучателя=СокрЛП(ПерПолучатель.EMail);
    Если а=1 Тогда
      АдресПолучателя=П_АдресПолучателя;
    Иначе
      АдресПолучателя=АдресПолучателя+";"+П_АдресПолучателя;
    КонецЕсли;
  КонецЦикла;
  ВК.АдресПолучателя=СокрЛП(АдресПолучателя);
  ВК.Тема=СокрЛП(Тема);
  ВК.Тело=Тело;
  Вложения="";
  Для а=1 По СпсФайлов.РазмерСписка() Цикл
    Если а=1 Тогда
      Вложения=СпсФайлов.ПолучитьЗначение(а);
    Иначе
      Вложения=Вложения+";"+СпсФайлов.ПолучитьЗначение(а);
    КонецЕсли;
  КонецЦикла;
  ВК.Вложения=СокрЛП(Вложения);
  ВК.Кодировка="windows-1251";
  ВК.ТипПисьма=2;
  ВК.НеКодироватьТему=0;
  Состояние("Отправка почты");
  Если ВК.Отправить()=1 Тогда
    Рез=1; Описание="Почта отправлена!";
  Иначе
    Рез=0; Описание="Не удалось отправить Почту!";
  КонецЕсли;
    ВК.Отключиться();
  Возврат Рез;
КонецФункции
   Frog
7 - 29.11.04 - 10:43
Это все понятно, так же как и у меня, только параметры по другому немного передаются. Меня интересуют значения сервера отправки и сервера приема, я думаю что не так что-то указал и вопрос про болтающийся чей-то адрес тоже остается в силе, меня раздражают адреса которые я не знаю, может по нему будет что-то отправляться? причем это поле не изменяется, я его переприсвоить пытался.
   SwaT
8 - 29.11.04 - 10:50
(3) глПрямаяПочта.АдресОтправителя=="mailrobot@mydomain.local";
- в этом ошибка. Обратный адрес, если ты отправляешь через Mail.ru должен быть зарегистрирован на www.mail.ru - что-то вроде dddd@mail.ru, qqqq@list.ru; и естественно проставлен в письме, как адрес отправителя.
   dma
9 - 29.11.04 - 10:57
В догонку... У меня не IP-адреса пишутся, а pop.mail и smtp.mail
   Frog
10 - 29.11.04 - 10:58
Это так в примере было тут я указываю свой адрес глПрямаяПочта.АдресОтправителя=="frog@mail.ru"; ошибка не в этом, конект проходит удачно, первая процедура находиться в процедуре приначалеработы системы. Короче какой-то глюк. Напишите какие вы параметры передаете, почтовый адрес можете поменять.
 
 
   dma
11 - 29.11.04 - 11:05
Извини, но энту штуку я написал 2 года назад и уже ничОго не вспоминается... Могу скинуть обработки отправки и получения почты.
А mail.ru случаем не лежит?
   SwaT
12 - 29.11.04 - 11:11
А вот насчет прокси можно поподробней?
В настройке у Бата - порты стандартные (для POP3 -110, SMTP - 25)?
И еще: у Mail.ru сервер приема - pop.mail.ru (не pop3.mail.ru)



Список тем форума

Форум Территория 1С

Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует