|   |   | 
| 
 | Отправка почты помогите с примером | ☑ | ||
|---|---|---|---|---|
| 0
    
        AugustBlack 10.04.13✎ 08:45 | 
        привет, поделитесь с работающим примером. Нужно письма отправлять с компа на котором не установлен 1С. Через smtp gmail или mail.ru 
  нашел в инете примерный код дописал параметры, не работает где поправить: ИПП = Новый ИнтернетПочтовыйПрофиль; ИПП.АдресСервераSMTP = "smtp.gmail.com"; ИПП.ВремяОжидания = "200"; ИПП.Пароль = "123123"; ИПП.ПарольSMTP = "123123"; ИПП.Пользователь = "test1c@gmail.com"; ИПП.ПользовательSMTP = "test1c@gmail.com"; ИПП.ПортSMTP = "465"; // Создать сообщение. Сообщение = Новый ИнтернетПочтовоеСообщение; Сообщение.Получатели.Добавить("test1c@mail.ru"); Сообщение.Отправитель.Адрес = "test1c@gmail.com"; Сообщение.Тема = "Срочно в номер!"; Сообщение.Тексты.Добавить("Доброе время суток!"); Почта = Новый ИнтернетПочта; Почта.Подключиться(ИПП); Почта.Послать(Сообщение); Почта.Отключиться(); | |||
| 1
    
        ДенисЧ 10.04.13✎ 08:47 | 
        Интересно...
  А как ты будешь выполнять код на 1с на компе, где нет 1с?? :-)) | |||
| 2
    
        AugustBlack 10.04.13✎ 08:47 | 
        *тьфу..не установлен 1С* - опечатка, не установлен почтовый клиент :D     | |||
| 3
    
        ДенисЧ 10.04.13✎ 08:49 | 
        А так...
  на vbs Set objMessage = CreateObject("CDO.Message") objMessage.Sender = "myemail@my.domain" objMessage.To = "reciever@domen.rec" objMessage.From = "myemail@my.domain" objMessage.TextBody = "Hi there!" objMessage.Subject = "Subject of email" objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 ' objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 ' objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.server" objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25' objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "myemail@my.domain" objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "smtp_pass" objMessage.Configuration.Fields.Update objMessage.Send | |||
| 4
    
        Wobland 10.04.13✎ 08:51 | 
        &НаСервере
  Функция Разослать_срв(СсылкаНаОбъект) Почта=Новый ИнтернетПочта; Профиль=Новый ИнтернетПочтовыйПрофиль; Профиль.АутентификацияSMTP=СпособSMTPАутентификации.БезАутентификации; Профиль.АдресСервераSMTP="192.168.99.2"; Попытка Почта.Подключиться(Профиль); Исключение Возврат ОписаниеОшибки(); КонецПопытки; Сообщение=Новый ИнтернетПочтовоеСообщение; Сообщение.Тема="Ежедневный отчёт по оргтехнике"; Сообщение.Отправитель.ОтображаемоеИмя=Константы.ГлавВрачИмя.Получить(); Сообщение.Отправитель.Адрес=Константы.ГлавВрачАдрес.Получить(); НовыйПолучатель=Сообщение.Получатели.Добавить(); НовыйПолучатель.Адрес=СсылкаНаОбъект.Пациент.ЭлектронныйАдрес; НовыйПолучатель.ОтображаемоеИмя=СсылкаНаОбъект.Пациент.ПолноеНаименование; ОрдинаторыИмена=СтрЗаменить(Константы.ОрдинаторыИмена.Получить(), ";", Символы.ПС); ОрдинаторыАдреса=СтрЗаменить(Константы.ОрдинаторыАдреса.Получить(), ";", Символы.ПС); Если СтрЧислоСтрок(ОрдинаторыИмена)<>СтрЧислоСтрок(ОрдинаторыАдреса) Тогда Возврат "Несоответствие имён и адресов ординаторов"; КонецЕсли; Для й=1 По СтрЧислоСтрок(ОрдинаторыИмена) Цикл НовыйПолучатель=Сообщение.Копии.Добавить(); НовыйПолучатель.ОтображаемоеИмя=СтрПолучитьСтроку(ОрдинаторыИмена, й); НовыйПолучатель.Адрес=СокрЛП(СтрПолучитьСтроку(ОрдинаторыАдреса, й)); КонецЦикла; ИмяВременногоФайла=КаталогВременныхФайлов()+"ЕжедневныйОтчёт_"+СсылкаНаОбъект.Пациент.ПолноеНаименование+"_"+Формат(СсылкаНаОбъект.Дата, "ДФ=yyyyMMdd")+".xls"; ТабДок=Документы.Жалоба.СформироватьПечатнуюФорму(СсылкаНаОбъект); ТабДок.Записать(ИмяВременногоФайла, ТипФайлаТабличногоДокумента.XLS); Сообщение.Вложения.Добавить(ИмяВременногоФайла); Попытка Почта.Послать(Сообщение); Исключение Возврат ОписаниеОшибки(); КонецПопытки; Почта.Отключиться(); //УдалитьФайлы(ИмяВременногоФайла); об=СсылкаНаОбъект.ПолучитьОбъект(); об.Разослано=Истина; об.Записать(РежимЗаписиДокумента.Проведение); Возврат ""; КонецФункции | |||
| 5
    
        Fedot200 10.04.13✎ 08:56 | 
        (4) "НовыйПолучатель=Сообщение.Копии.Добавить();" вместо этой строки предлагаю:
  НовыйПолучатель=Сообщение.СЛЕПЫЕКопии.Добавить(АДРЕС); как-то так, главное в слепые копии добавлять, тогда провайдеры за спам не посчитают. | |||
| 6
    
        Wobland 10.04.13✎ 08:58 | 
        (5) не, нужно именно так. а провайдер вон: 192.168.99.2 ;)     | |||
| 7
    
        Fedot200 10.04.13✎ 08:58 | 
        (6) Если у тебя 100500 адресатов, сколько писем будет?     | |||
| 8
    
        Wobland 10.04.13✎ 09:01 | 
        (7) 100500 и будет. чо пристал? ;) писалось на коленке за час под строго определённую задачу лично для себя     | |||
| 9
    
        Fedot200 10.04.13✎ 09:04 | 
        (8) а если адресатов сувать в слепые копии, то будет одно письмо. Не пристал, а рекомендую более интересный метод. + еще фича в том, что получатель не будет выидеть остальных которые в слепых копиях. А в "кому" можно себя поставить, тем самым будешь контролировать, прошла рассылка али нет.     | |||
| 10
    
        Fedot200 10.04.13✎ 09:06 | 
        +(9) фокус еще в том, что адресов в слепых копиях нет даже в служебном заголовке. И провайдерские фильтры не эригируют, что это спам.     | |||
| 11
    
        Wobland 10.04.13✎ 09:07 | 
        (9) мне нужно, чтобы юзеры видели остальных получателей - все вместе работаем. а вот себя в слепую копию я не догадался, спасибо, мысль     | |||
| 12
    
        Fedot200 10.04.13✎ 09:08 | 
        (11) Пожалуйста. Ну да разные задачи. Слепые хорошо когда клиентам прайс-лист рассылаешь, чтобы клиент не видел базу рассылки.     | |||
| 13
    
        AugustBlack 10.04.13✎ 09:16 | 
        (4) по аналогии написал, но письмо не приходит:
  Почта=Новый ИнтернетПочта; Профиль=Новый ИнтернетПочтовыйПрофиль; Профиль.АутентификацияSMTP=СпособSMTPАутентификации.Login; Профиль.АдресСервераSMTP="smtp.mail.ru"; Профиль.ПортSMTP = "25"; Профиль.ПользовательSMTP = "test1c@mail.ru"; Профиль.ПарольSMTP = "123123"; Попытка Почта.Подключиться(Профиль); Исключение Возврат ОписаниеОшибки(); КонецПопытки; Сообщение=Новый ИнтернетПочтовоеСообщение; Сообщение.Тема="Ежедневный отчёт"; Сообщение.Отправитель.ОтображаемоеИмя="уйцйцу"; Сообщение.Отправитель.Адрес="test1c@mail.ru"; Сообщение.Тексты = "12312312312312"; НовыйПолучатель=Сообщение.Получатели.Добавить(); НовыйПолучатель.Адрес="test1c@mail.ru"; НовыйПолучатель.ОтображаемоеИмя="test1c@mail.ru"; Попытка Почта.Послать(Сообщение); Исключение Возврат ОписаниеОшибки(); КонецПопытки; Почта.Отключиться(); | |||
| 14
    
        Fedot200 10.04.13✎ 09:27 | 
        (13) 
  Профиль.ПользовательSMTP = "test1c@mail.ru"; Профиль.ПарольSMTP = "123123"; маилру говорит: Неверное имя пользователя или пароль. Проверьте правильность введенных данных. :-) | |||
| 15
    
        ИС-2 10.04.13✎ 09:29 | 
        (0) не изобретайте велосипед. В конфах есть докумеyn Электронное письмо - его используйте     | |||
| 16
    
        AaNnDdRrEeYy 10.04.13✎ 10:20 | 
        (15)+ еще есть специальный общий модуль "РаботаСЭлектроннойПочтой" там все есть и все работает, и справочник есть "Учетные записи электронной почты" если все это правильно использовать то письмо можно отправить написав максимум 5 строк кода.     | |||
| 17
    
        Wobland 15.04.13✎ 10:16 | 
        а я вот сейчас раскомментарил удаление из (4) и получил ошибку совместного доступа. кем занят файл, а?
  ИмяВременногоФайла=КаталогВременныхФайлов()+"ЕжедневныйОтчёт_"+СсылкаНаОбъект.Пациент.ПолноеНаименование+"_"+Формат(СсылкаНаОбъект.Дата, "ДФ=yyyyMMdd")+".xls"; ТабДок=Документы.Жалоба.СформироватьПечатнуюФорму(СсылкаНаОбъект); ТабДок.Записать(ИмяВременногоФайла, ТипФайлаТабличногоДокумента.XLS); Сообщение.Вложения.Добавить(ИмяВременногоФайла); Попытка Почта.Послать(Сообщение); Исключение Возврат ОписаниеОшибки(); КонецПопытки; Почта.Отключиться(); //УдалитьФайлы(ИмяВременногоФайла); | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |