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