Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: ROM-Mail. Отправка почты из 1с

v7: ROM-Mail. Отправка почты из 1с
Я
   Mafiozaa
 
09.11.20 - 08:18
Всем привет, встал в ступор пишет ошибка не удалось отправить сообщение, понять не могу почему, знатоки подскажите)

Почта.АдресОтправителя  = "Kalina_IT03@mail.ru";
  Почта.ИмяОтправителя  = "Вася";

  //указываем получателей письма
  Почта.ДобавитьАдрес("АдресПолучателя","Васяня","mafioza2603@gmail.com");
  
  //если необходимо добавляем вложения
  Почта.Вложения = "C:\Users\Dmitriy\Desktop\123.txt";
  
  Почта.Тема  = "raz raz";
  Почта.Тело  = "dva dva";  
  
  //Пытаемся отправить
  Если Почта.Соединение=0 Тогда
       Сообщить("Соединение потеряно","!");
  ИначеЕсли Почта.Отправить()=1 Тогда
       Сообщить("Почтовое сообщение отправлено","i");
  Иначе
       Сообщить("Не удалось отправить сообщение","!");
    Конецесли;    

  //Отключаемся
  Почта.Отключиться();
КонецПроцедуры    


Процедура ПолучитьПочту()  
  
  //Пытаемся подключить компоненту
  Если ЗагрузитьВнешнююКомпоненту("ROM-Mail.dll")=0 Тогда
    Сообщить("Не удалось загрузить внешнюю компоненту ROM-Mail.dll");
    Возврат;
  Конецесли;

  //Подключаемся к почте с указанными параметрами
  Почта          = СоздатьОбъект("AddIn.AddInMail");  
  Почта.СерверПриема  = "smtp.mail.ru";
  Почта.ПортПриема    = "110";  
  Почта.Логин        = "Kalina_IT03@mail.ru"; //при необходимости
  Почта.Пароль      = "26031997Zxc";//при необходимости
  Почта.ОставлятьНаСервере    = 0; //необходимо ли оставлять письма в ящике
    
    //Если подключение не удачное прерываем обработку
  Если Почта.Соединение = 0 Тогда
    Если Почта.Подключиться("Прием")=0 Тогда
      Сообщить("Не удалось подключиться к почтовому серверу","!");
      Возврат;
    Конецесли;
  Конецесли;  
  
  ПринятыйФайл = "";
  Для й = 1 По Почта.КоличествоСообщений() Цикл  
    
    //Читаем заголовки писем    
    Если Почта.ПолучитьЗаголовок(й) = 1 Тогда
      
      //Читаем тексты писем
      Если Почта.ПолучитьТело(й)=1 Тогда    
        
        //Выбираем вложения писем
          Для ф = 1 По Почта.КоличествоФайлов() Цикл            
            
            //сохраняем вложение
            Почта.СохранитьФайл(ф,"");                      
          Конеццикла;        
      Конецесли;  
    Конецесли;
  Конеццикла;
  
  //Отключаемся
  Почта.Отключиться();

КонецПроцедуры
   Mafiozaa
 
1 - 09.11.20 - 08:20
Все подключения он проходит, но сообщение не отправляет
   big
 
2 - 09.11.20 - 08:55
rom-mail не умеет работать с ssl и tsl. Неужели он у вас работал с mail.ru, gmail и т.п.?

Надо ставить DialMail, там всё работает.
   big
 
3 - 09.11.20 - 08:56
(2) Для mail.ru порт для smtp будет 25 и надо включить tsl.
   ДенисЧ
 
4 - 09.11.20 - 09:00
(3) если tsl, то порт далеко не 25
   big
 
5 - 09.11.20 - 09:01
(4) ХЗ. Работает ))
   Mafiozaa
 
6 - 09.11.20 - 09:04
(2) Понял,буду искать дллку
   Mikeware
 
7 - 09.11.20 - 09:10
(2) когда-то работал, года до 12-го...
   Mafiozaa
 
8 - 09.11.20 - 09:24
(7) (5) (4) А через V7Plus.dll он будет запускать клиент почтовый? типо outlook?
   Mikeware
 
9 - 09.11.20 - 09:26
(8) не пробовал. вряд ли. возьми диалмэйл, быстрее будет. ну, или через CDO пробуй
   Mafiozaa
 
10 - 09.11.20 - 09:29
(9) Диалмэйл этот без клиента работает?
   Mikeware
 
11 - 09.11.20 - 09:31
(10) да
   Mafiozaa
 
12 - 09.11.20 - 09:33
(11) dll-ка не регистрируется
   Mikeware
 
13 - 09.11.20 - 09:35
(12) печаль
   Mafiozaa
 
14 - 09.11.20 - 09:49
(13)

Процедура ПриОткрытии()
Если ЗагрузитьВнешнююКомпоненту("C:\Users\Dmitriy\Desktop\1Cv77\BIN\DialMail.DLL") = 0 Тогда
    Сообщить("Неудачная попытка загрузить DialMail.dll");
Иначе
    Сообщить("Удачная попытка загрузить DialMail.dll");
КонецЕсли;
КонецПроцедуры

Процедура ОтправитьПочту()
ОтправкаПочты = СоздатьОбъект("AddIn.SMTP");
ОтправкаПочты.РабочийКаталог=СокрЛП(КаталогИБ());
ОтправкаПочты.УстановитьКодировкуИСпособКодирования(14, 1);
ОтправкаПочты.MakeContentDescriptionTag = 0;
ОтправкаПочты.ПочтоваяПрограмма = "Имя почтовой программы";
//В моем случае ошибки пишутся в отдельный каталог в текстовые файлы, имена которых соответствуют дате.

//имя файла - вложения должно быть в кавычках.
ВыбФайл = "C:\Users\Dmitriy\Desktop\123.txt";
// От кого, Кому, Копии - это адреса почты.

ОтправкаПочты.СоздатьПисьмо("mafioza2603@gmail.com","Kalina_IT03@mail.ru","","Allo","","Raz dva vsem svoim kto na svyazi",ВыбФайл);
Если ОтправкаПочты.Подключиться("smtp.mail.ru","25")=0 тогда
Сообщить("Не смогли подключиться к SMTP-серверу");
Иначе
    Сообщить("Успешное подключение к SMTP-серверу");
КонецЕсли;
Если ОтправкаПочты.ОтправитьВсеПисьма(0,1,0) = -100 Тогда
Сообщить("Успешно отправлено");
КонецЕсли;
КонецПроцедуры


Без ошибок, но и письма не видать, наверное потому что логин с паролем опустил
   Djelf
 
15 - 09.11.20 - 09:50
(14) Порт то не 25й... https://help.mail.ru/mail/mailer/popsmtp
   Mafiozaa
 
16 - 09.11.20 - 09:53
(15) C 465 портом ошибка подключения к смтп
   Mafiozaa
 
17 - 09.11.20 - 09:55
(15) При 25 порту, подключение успешное, но письмо не уходит
   trad
 
18 - 09.11.20 - 09:56
(0) пароль то напрасно засветил. Теперь меняй
   Djelf
 
19 - 09.11.20 - 09:57
(16) Потому что библиотек openssl нет! В мануале по dialmail вроде все написано по этому поводу.
   Mafiozaa
 
20 - 09.11.20 - 09:57
(18) Спецом зареганная почта, я уже подумал об этом, там пусто)
   NorthWind
 
21 - 09.11.20 - 10:00
(4) Может работать. Есть такая опция - TLS по стандартному порту (STARTTLS).
   Mafiozaa
 
22 - 09.11.20 - 10:20
(15) Их если я правильно понял, и регистрировать не надо, просто в корень кинуть
   Djelf
 
23 - 09.11.20 - 10:26
(22) В тот же каталог где dialmail их нужно кинуть. У меня вот такая сборка работает: https://cloud.mail.ru/public/HKiw/xKZUkk5QE
Не сильно разбирался, какие-то библиотеки openssl не завелись...
   Djelf
 
24 - 09.11.20 - 10:27
+(23) Еще нужно в код добавить Отправка.ИспользоватьSSL=1; Отправка.ИспользоватьTSL=1;
   Mafiozaa
 
25 - 09.11.20 - 10:31
(23) Все равно закинул все dll ки в корень, обработал подключения со всеми ошибками, все равно эти 2 библиотеки не хотят подключатся
   Mafiozaa
 
26 - 10.11.20 - 04:32
Сделал отправку через CDO. Вопрос, почему на ту почту куда ушло письмо, в майле вижу его, а в The Bat его нет, по моему мнению беда в протоколах, кто что знает
   ДенисЧ
 
27 - 10.11.20 - 04:53
(26) А где в бате ты его хочешь увидеть?
   Mafiozaa
 
28 - 10.11.20 - 04:55
(27) Во входящих))
   Mafiozaa
 
29 - 10.11.20 - 04:56
(27) Все письма будут вложениями, и хочу в бате принимать и выгружать в определенный путь
   Злопчинский
 
30 - 12.11.20 - 20:33
возьми мою отправлялку электорное ECDO с инфостарта. работает в туевой хуче контор.
для работы может понадобиться stunnel поставить. у меян админ сделал хз сколько лет назад когда мылору перестал давать на 25 порту - работает до сих пор... - на странице разработки можно почитать комменты, там все вопросы обжеваны.

http://catalog.mista.ru/public/14131/
 
 Рекламное место пустует
   Злопчинский
 
31 - 12.11.20 - 20:34
(26) кстати, можешь кинуть параметры, которые у тебя прописаны в cdo для отправкипо ssl/tsl?
   Mafiozaa
 
32 - 13.11.20 - 03:27
(31) Держи всю процедуру, может как то иначе можно было, но сам результат меня устраивает)

Процедура ОтправкаПочты()

    Попытка
loConfig = CreateObject("CDO.Configuration");
loCdoMessage = CreateObject("CDO.Message");

loCdoMessage.Configuration = loConfig;
loCdoMessage.From    = "Тест 1C"""" <цук>";
loCdoMessage.To      = "цук";
loCdoMessage.Subject = "Тема письма";

ТекстСообщения = "Текст письма";
HTMLBody = "<html>
|<head>
|<meta content=""text/html; charset=Windows-1251"" http-equiv=""content-type"">
|<title> Тестовое сообщение </title>
|</head>
|<body>
|<h3>" + "Приветствую, сделайте возврат кода маркировки по высланным позициям! см.файлик" + "</h3>
|<p></p>
|</body>
|</html>";
loCdoMessage.BodyPart.Charset = "windows-1251";
loCdoMessage.HTMLBody = HTMLBody;

loCdoMessage.AddAttachment("C:\Users\Dmitriy\Desktop\123.txt");
loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing";).            Value = 2;
loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver";).           Value = "smtp.gmail.com";
loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport";).       Value = "465";
loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate";).     Value = 1;
loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername";).         Value = "цук";
loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword";).         Value = "цук";
loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl";).           Value = 1;
loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60;

loConfig.Fields.Update();
loCdoMessage.Send();
Предупреждение("Письмо успешно отправленно!");
Исключение
    Предупреждение("Письмо не отправленно!");
КонецПопытки;
КонецПроцедуры
   big
 
33 - 13.11.20 - 04:56
(30) (32)  А потом понадобится получить письмо и опять танцы с бубнами )))
   Mafiozaa
 
34 - 13.11.20 - 05:34
(33) Получаю я батом через imap, все корректно
   big
 
35 - 13.11.20 - 10:04
(34) Имелось ввиду получение в 1С
   Mafiozaa
 
36 - 13.11.20 - 11:01
(35) Я понял, в 1с нет нужды принимать письма
   Злопчинский
 
37 - 13.11.20 - 11:48
(36) у мну тоже так. отсылалка сделана не с целью ведения переписки с клиентом (принимать письма в 1С). а для быстрой прозрачной отправки всякизх счетов, отчетов,  и прочей хрени... работает уже хз скока ле. и у пары моих клиентов аналогично - счета отправляют, заказы поставщиками ИТД
   Злопчинский
 
38 - 13.11.20 - 11:50
(32) на через майл.ру - отправляются у тебя при таких настройках?
   Mikeware
 
39 - 13.11.20 - 12:18
(37) а еще - об извешениях роботом о разных событиях, порой неприятных... посмотреть с утра в папку почты проще, чем смотреть события. Хотя свой дашборд лучше почты.
   Mafiozaa
 
40 - 16.11.20 - 01:54
(38) Да,на майл отправляю, все нравится
   Злопчинский
 
41 - 16.11.20 - 02:13
(40) хм, надо проверить...
   Mafiozaa
 
42 - 16.11.20 - 02:19
(41) есть майловская почта, скинь, отправлю тебе
   Mafiozaa
 
43 - 16.11.20 - 02:19
(41) Отправлю на ту, что в профиле


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