|
Отправка почты помогите с примером | ☑ | ||
---|---|---|---|---|
0
AugustBlack
10.04.13
✎
08:45
|
привет, поделитесь с работающим примером. Нужно письма отправлять с компа на котором не установлен 1С. Через smtp gmail или mail.ru
нашел в инете примерный код дописал параметры, не работает где поправить: ИПП = Новый ИнтернетПочтовыйПрофиль; ИПП.АдресСервераSMTP = "smtp.gmail.com"; ИПП.ВремяОжидания = "200"; ИПП.Пароль = "123123"; ИПП.ПарольSMTP = "123123"; ИПП.Пользователь = "[email protected]"; ИПП.ПользовательSMTP = "[email protected]"; ИПП.ПортSMTP = "465"; // Создать сообщение. Сообщение = Новый ИнтернетПочтовоеСообщение; Сообщение.Получатели.Добавить("[email protected]"); Сообщение.Отправитель.Адрес = "[email protected]"; Сообщение.Тема = "Срочно в номер!"; Сообщение.Тексты.Добавить("Доброе время суток!"); Почта = Новый ИнтернетПочта; Почта.Подключиться(ИПП); Почта.Послать(Сообщение); Почта.Отключиться(); |
|||
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 = "[email protected]" objMessage.To = "[email protected]" objMessage.From = "[email protected]" 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") = "[email protected]" 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 = "[email protected]"; Профиль.ПарольSMTP = "123123"; Попытка Почта.Подключиться(Профиль); Исключение Возврат ОписаниеОшибки(); КонецПопытки; Сообщение=Новый ИнтернетПочтовоеСообщение; Сообщение.Тема="Ежедневный отчёт"; Сообщение.Отправитель.ОтображаемоеИмя="уйцйцу"; Сообщение.Отправитель.Адрес="[email protected]"; Сообщение.Тексты = "12312312312312"; НовыйПолучатель=Сообщение.Получатели.Добавить(); НовыйПолучатель.Адрес="[email protected]"; НовыйПолучатель.ОтображаемоеИмя="[email protected]"; Попытка Почта.Послать(Сообщение); Исключение Возврат ОписаниеОшибки(); КонецПопытки; Почта.Отключиться(); |
|||
14
Fedot200
10.04.13
✎
09:27
|
(13)
Профиль.ПользовательSMTP = "[email protected]"; Профиль.ПарольSMTP = "123123"; маилру говорит: Неверное имя пользователя или пароль. Проверьте правильность введенных данных. :-) |
|||
15
ИС-2
naïve
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); Сообщение.Вложения.Добавить(ИмяВременногоФайла); Попытка Почта.Послать(Сообщение); Исключение Возврат ОписаниеОшибки(); КонецПопытки; Почта.Отключиться(); //УдалитьФайлы(ИмяВременногоФайла); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |