7.7 Отправка почты из 1С

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем mixi, 23 янв 2010.

  1. TopicStarter Overlay
    mixi
    Offline

    mixi

    Регистрация:
    20 дек 2007
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    В модуле
    Код:
    Процедура Сформировать()
    Если ЗагрузитьВнешнююКомпоненту("ROM-Mail.dll") = 1 Тогда
    ВК = СоздатьОбъект("AddIn.AddInMail");
    Иначе
    Сообщить("Не удалось загрузить компонену");
    Возврат;
    КонецЕсли;  
    
    ВК.СерверОтправки = "mail.ru";
    ВК.ПортОтправки = 25;
    ВК.Логин = "masootka@mail.ru";
    ВК.Пароль = "*****";
    ВК.АутентификацияПриОтправке = 1;
    Если ВК.Подключиться("Отправка") = 0 Тогда
    Предупреждение("Не удалось подключиться к серверу");
    Возврат;
    КонецЕсли;
    
    КонецПроцедуры
    
    Сообщает, что не удалось подключиться к серверу. Что не верно? Я так понимаю, что сервер отправки должен быть другой, а где его можно найти?
    Или реализовать работу с моим почтовым ящиком в 1С не возможно?
    И еще, у нас прокси сервер стоит. Может он мешает? И если так, то как прописать и его настройки в модуле?
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    сервер для отправки - это SMTP, следовательно нужно поменять MAIL.RU на SMTP.MAIL.RU
  3. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    добавлю; для приема Pop.mail.ru порт 110
    Вот примеры

    Вложения:

    • example.rar
      Размер файла:
      10,8 КБ
      Просмотров:
      308
  4. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    в общем да.. но есть и такой вариант, както гуглил давно:
    Код:
    Function ОтправкаЛогаПоЕмайл()
    log = CreateObject("Text");
    sFileName = "c:\test_mod7.txt";
    //If FS.ExistFile(sFileName)=1 Then
    SendFile = "objEmail.AddAttachment("""+sFileName+""")";
    //Else
    //SendFile = "";
    //EndIf;
    Путь = "D:\WORK\";
    Отправитель = "*****@mail.ru";
    Получатель = "*****@****.***";
    Тема = "Лог загрузки";
    ТекстПисьма = "Текст";
    SMTPServ = "smtp.mail.ru";
    SendCom = "Set objEmail = CreateObject(""CDO.Message"")
    |objEmail.From = """+СокрЛП(Отправитель)+"""
    |objEmail.To = """+СокрЛП(Получатель)+"""
    |objEmail.Subject = """+СокрЛП(Тема)+"""
    |objEmail.Textbody = """+СокрЛП(ТекстПисьма)+"""
    |"+SendFile+"
    |objEmail.TextBodypart.charset=""koi8-r""
    |objEmail.Configuration.Fields.Item _
    |(""http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"") = 1 
    |objEmail.Configuration.Fields.Item _
    |(""http://schemas.microsoft.com/cdo/configuration/sendusername"") = ""******""
    |objEmail.Configuration.Fields.Item _
    |(""http://schemas.microsoft.com/cdo/configuration/sendpassword"") = ""*******""
    |objEmail.Configuration.Fields.Item _
    |(""http://schemas.microsoft.com/cdo/configuration/sendusing"") = 2
    |objEmail.Configuration.Fields.Item _
    |(""http://schemas.microsoft.com/cdo/configuration/smtpserver"") = _
    |"""+SMTPServ+"""
    |objEmail.Configuration.Fields.Item _
    |(""http://schemas.microsoft.com/cdo/configuration/smtpserverport"") = 25
    |objEmail.Configuration.Fields.Update
    |objEmail.Send";
    log.AddLine(SendCom);
    log.Write(Путь+"SendMail.vbs");
    RunApp("wscript.exe "+Путь+"SendMail.vbs /b");
    Return 1;
    
    
    отправка письма скриптом с использованием CDO.. без вк
  5. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    мучался с отправкой почты через exchange сервер (smtp отключен).. потратив продолжительное время на поиски открыл для себя библиотеку Redemption (http://www.dimastr.com/redemption/), с помошью которой все-таки удалось добиться нужного результата.. Может кому-нибудь пригодится когда-нибудь

    Код:
    Procedure RDO()
    oA = CreateObject("Outlook.Application");
    sItem = CreateObject("Redemption.SafeMailItem");
    NameSpace = oA.GetNamespace("MAPI");
    //NameSpace.Logon("УчетнаяЗапись", "пароль", 0, 0); // работает без указания параметров
    NameSpace.Logon();
    oItem = oA.CreateItem(0);
    oItem.Subject = "Testing Redemption"; 
    oItem.Body = "Redemption.SafeMailItem. Тест отправки писем с помощью библиотеки Redemption.dll";
    oItem.SentOnBehalfOfName = "it.***@****.ru"; //отправка от группы
    //oItem.To = ("***.*****@*****.ru");
    //oItem.CC = ("***.*****@*****.ru"); //не разобрался с копиями, при задании через Aplication перестают работать параметры Recepients 
    //oItem.BCC = ("***.*****@*****.ru");
    sItem.Item = oItem;
    sItem.Attachments.Add("c:\test_att.txt");
    sItem.Recipients.Add("***.*****@*****.ru");
    //sItem.Recipients.Add("***.*****@*****.ru");
    sItem.Recipients.ResolveAll();
    sItem.Send();
    NameSpace.Logoff();
    EndProcedure
    
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Так не проще:
    Код:
    
    myOlApp = CreateObject("Outlook.Application");
    myItem = myOlApp.CreateItem(0); 
    myRecipient = myItem.Recipients.Add(ЭлАдрес);
    myRecipient.Type=1;
    myItem.Subject = "моя тема";
    myItem.Body ="Здраствуй мир!";
    myAttachments = myItem.Attachments();
    myAttachments.Add(КаталогИБ()+"\Attachments.XLS");
    myItem.Display();
    
    
  7. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    так аутлук будет каждый раз запрашивать подтверждение на отправку
  8. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    а вот таким образом вообще с двумя подтверждениями, хотя может что-то не так сделал :)
    Код:
    Procedure MailV7Plus()
    //v7plus //не работает
    Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "v7plus.dll") <> 1 Тогда
    Если ЗагрузитьВнешнююКомпоненту(КаталогПрограммы() + "v7plus.dll") <> 1 Тогда
    Предупреждение("Компонента v7plus.dll не найдена!");
    КонецЕсли;
    КонецЕсли;
    sFileName = "c:\1.jpg";
    ТекстПисьма = "При загрузке файлов Stock произошла ошибка! Письмо сформировано обработкой mod7_2_Stocks.ert автоматически.";
    oMail = CreateObject("AddIn.V7Mail");
    oMail.Logon("MAPI");
    oMail.NewMessage();
    oMail.AddAddress("mikhail.ivanov@****.ru");
    oMail.AddFile(sFileName);
    oMail.Subject = "Лог загрузки файлов Stock";
    oMail.Text = ТекстПисьма; 
    oMail.Send();
    EndProcedure
    
    P.S. почему-то на форуме не всегда работает редактирование своего сообщения
  9. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    дается 5 минут на редактирование, потом - только новое.

Поделиться этой страницей