Имя: Пароль:
1C
 
Отправка почты из 8.1
0 Тиль
 
03.02.09
13:16
Как можно отправит  почту крытно от пользователя из 8.1? скажем через почтовик бесплатный mail.ru?
1 vde69
 
03.02.09
13:21


       Почта = Новый ИнтернетПочта;
       Почта.Подключиться(Профиль);
       Почта.Послать(Сообщение);
       Почта.Отключиться();
2 vde69
 
03.02.09
13:25
Функция ОтправитьПисьмо (Письмо, МассивАдресов, Ссылка, ТекущаяЗадача, РегистрироватьОшибки = Истина) Экспорт
   
   Если не Константы.ИспользоватьУведомления.Получить() Тогда
       Возврат Ложь;
   КонецЕсли;
   
   Если СокрЛП(Константы.ОтключатьДоставкуПриУсловии.Получить()) = "" Тогда
       Возврат Ложь;
   КонецЕсли;
   
   Если СокрЛП(Константы.ОтключатьДоставкуПриУсловии.Получить()) <> "" Тогда
       Если ВРЕГ(СокрЛП(Константы.ОтключатьДоставкуПриУсловии.Получить())) <> ВРЕГ(СтрокаСоединенияИнформационнойБазы())  Тогда
           Возврат Ложь;
       КонецЕсли;
   КонецЕсли;
   
   Если МассивАдресов.Количество() = 0 Тогда
       Возврат Ложь;
   КонецЕсли;
   
   
   Попытка
       ТемаПисьма         = СобратьЭлементПочтовогоСообщения(Письмо.Тема, Ссылка, ТекущаяЗадача);
       СообщениеПисьма = СобратьЭлементПочтовогоСообщения(Письмо.Сообщение, Ссылка, ТекущаяЗадача);
       
       Профиль = Новый ИнтернетПочтовыйПрофиль;
       Профиль.АдресСервераSMTP     = Константы.АдресСервераSMTP.Получить();
       Профиль.АутентификацияSMTP  = СпособSMTPАутентификации[Константы.СпособSMTPАутентификацииК.Получить()];
       Профиль.АдресСервераPOP3     = Константы.АдресСервераPOP3.Получить();
       Профиль.АутентификацияPOP3  = СпособPOP3Аутентификации[Константы.СпособPOP3АутентификацииК.Получить()];
       Профиль.ПортSMTP             = Константы.ПортSMTP.Получить();
       Профиль.ПортPOP3             = Константы.ПортPOP3.Получить();
       Профиль.Пользователь         = Константы.Пользователь.Получить();
       Профиль.Пароль                 = Константы.Пароль.Получить();
       Профиль.ПользовательSMTP     = Константы.Пользователь.Получить();
       Профиль.ПарольSMTP             = Константы.Пароль.Получить();
       
       Сообщение = Новый ИнтернетПочтовоеСообщение;
       Сообщение.Тема             = ТемаПисьма;
       Сообщение.Отправитель     = Константы.СистемнаяПочта.Получить();
       
       ТипСообщения = ТипТекстаПочтовогоСообщения[Константы.ТипПочтовыхУведомлений.Получить()];
       Если ТипСообщения = Неопределено Тогда        
           ТипСообщения = ТипТекстаПочтовогоСообщения.ПростойТекст;
       КонецЕсли;
       
       Для Каждого Почтовый______________Адрес из МассивАдресов Цикл
           Сообщение.Получатели.Добавить(Почтовый______________Адрес );
       КонецЦикла;
       Сообщение.Тексты.Добавить(СообщениеПисьма, ТипСообщения);
       
       Почта = Новый ИнтернетПочта;
       Почта.Подключиться(Профиль);
       Почта.Послать(Сообщение);
       Почта.Отключиться();
   Исключение
       
       Если РегистрироватьОшибки Тогда
           Запись = РегистрыСведений.ОшибкиДоставкиПочты.СоздатьМенеджерЗаписи();
           Запись.СписокОтправки     = ЗначениеВСтрокуВнутр(МассивАдресов);
           Запись.ОписаниеОшибки     = ОписаниеОшибки();
           Запись.БизнесПроцесс     = Ссылка;
           Запись.Задача           = ТекущаяЗадача;
           Запись.ШаблонПисьма     = Письмо;
           Запись.Записать();
       КонецЕсли;
       
       Возврат Ложь;
   КонецПопытки;
   
   Возврат Истина;
КонецФункции
3 Тиль
 
03.02.09
13:26
а адрес где бить и порты?
4 Тиль
 
03.02.09
13:29
а если конфа самописная?никаких констант и регистров из примера..
5 Serg_1960
 
03.02.09
13:29
(3) Справочник УчетныеЗаписиЭлектроннойПочты есть? Вот туда бей :)

OFF: на тему слова "скрытно":
Как, как... программно разумеется - это и есть "скрытно"...
Если сами в алгоритме об этом пользователю не будете трезвонить, он и не догадается. Особенно если регламентным заданием воспользуетесь - оно вообще на сервере выполняется :)
6 Тиль
 
03.02.09
13:31
(5) Я же говорю-конфа самописная, таэ этого справочника нет...
7 Живой Ископаемый
 
03.02.09
13:34
посмотреть как сделано в несамописной.
8 Serg_1960
 
03.02.09
13:37
Самописная? Религия не поволяет использовать типовой функционал? Совсем плохо :))
9 Тиль
 
03.02.09
15:53
Да нет, просто конфу маленькую наваял, нужна простая обработа по отправке почты...Конфа то-3 документа, 2 регистра:)))
10 vde69
 
03.02.09
15:55
(9) не поверишь, но пример (2) то-же из маленькой самописной конфы.

делай всегда сразу нормальные механизмы!
11 Тиль
 
06.02.09
11:29
попробовал вот так-

Процедура ОтправитьПисьмо() Экспорт
   Кому="tilchik@mail.ru";
   Копия="";
   СкрКопия="";
   Вложения="";
   Тема="tilchik";
   Текст="tilchik";
АдресСервераSMTP="smtp.mail.ru";
       ПортSMTP=25;
       ПользовательSMTP="tilchik@mail.ru";
       ПарольSMTP="pass";
       УведомитьОДоставке=Истина;
       ИПП=Новый ИнтернетПочтовыйПрофиль;
       ИПП.АдресСервераSMTP="smtp.mail.ru";
       ИПП.ПортSMTP=2525;
       ИПП.ПользовательSMTP="tilchik@mail.ru";
       ИПП.ПарольSMTP="pass";
       Письмо=Новый ИнтернетПочтовоеСообщение;
       Письмо.Получатели.Добавить("tilchik@mail.ru");
       Письмо.Тема="tilchik";
       Письмо.Тексты.Добавить("tilchik");
       Письмо.УведомитьОДоставке=УведомитьОДоставке;
       Почта=Новый ИнтернетПочта;
       Почта.Подключиться(ИПП);
       Почта.Послать(Письмо);
       Почта.Отключиться();
КонецПроцедуры


все равно не может подключиться...
12 shuhard
 
06.02.09
11:32
(11) ты свой код хоть читаешь ?
ИПП.ПортSMTP=2525;
13 Тиль
 
06.02.09
11:35
я по разному пробовал- и 25 и 2525 и 587- с сайта mail.ru настройки взял...все равно..
14 Тиль
 
06.02.09
11:38
ап
15 73
 
06.02.09
11:41
Из др почтовика работает?
16 Тиль
 
06.02.09
11:42
из какого например?...я не пробовал...
17 73
 
06.02.09
11:43
OutlookExpress например.
18 shuhard
 
06.02.09
11:43
(16) да хоть telnet-ом
19 Тиль
 
06.02.09
11:46
мне надо чтобы пользователь не видел что у него письмо уходит
20 Тиль
 
06.02.09
11:51
я вот думаю что может быть что нибудь со способом аудентификации.....я нашел оператор-

ИПП.АутентификацияSMTP=СпособSMTPАутентификации.Login;

тоже не канает:(;
21 73
 
06.02.09
11:52
(19) чтобы проверить настройки
22 73
 
06.02.09
11:54
(20) -
Mail.Ru:
<В настройках почтовой программы необходимо указать,  что сервер исходящей почты (или сервер SMTP) требует авторизации. При отправке писем через наш SMTP-сервер содержимое поля From: должно совпадать с именем почтового ящика, в котором была осуществлена SMTP-авторизация: если в настройках почтовой программы указан почтовый ящик mailname@mail.ru  ( listname@list.ru,  bkname@bk.ru или inboxname@inbox.ru), то именно это имя почтового ящика должно указываться в поле From:.>

ИнтернетПочтовоеСообщение (InternetMailMessage)
Отправитель (From)
Использование:
Чтение и запись.
Описание:
Тип: Строка адреса, ИнтернетПочтовыйАдрес. Отправитель сообщения.
23 Тиль
 
06.02.09
11:55
а у меня что не так я не пойму?
24 73
 
06.02.09
11:56
Отправитель не указан
25 Тиль
 
06.02.09
11:57
а тгде мне его вставить?
26 73
 
06.02.09
11:58
Письмо.Отправитель="tilchik@mail.ru";
27 Тиль
 
06.02.09
12:00
блин:( точно:(...все нормально. заработало:)) спасибо
28 Тиль
 
07.02.09
14:19
зря радовался работает через раз- одна попыток из 6-10....может рановато жму-сессия еще не отвалилась?В коде то ничего сложного...

       ИПП=Новый ИнтернетПочтовыйПрофиль;
       ИПП.АдресСервераSMTP="smtp.mail.ru";
       ИПП.ПортSMTP=2525;
       ИПП.ПользовательSMTP="tilchik@mail.ru";
       ИПП.ПарольSMTP="pass";
       ИПП.АутентификацияSMTP=СпособSMTPАутентификации.ПоУмолчанию;
       Письмо=Новый ИнтернетПочтовоеСообщение;
       Письмо.Отправитель="tilchik@mail.ru";
       Письмо.Получатели.Добавить(Получатель);
       Письмо.Тема="tilchik";
       Письмо.Тексты.Добавить("tilchik");
       Почта=Новый ИнтернетПочта;
       Почта.Подключиться(ИПП);
       Почта.Послать(Письмо);
       Почта.Отключиться();
29 Тиль
 
07.02.09
14:32
апчик
30 Фулиган
 
07.02.09
20:39
Вообще то, я остановился на внешнем почтовом клиенте. 1С подготовила слила внешнему почтовому клиенте и пользователь работает дальше,а при прямой отправке и проблемами с Инетом все виснет и пользователи начинают перегружать 1С, компы,
31 Тиль
 
08.02.09
14:38
есть пример?
32 73
 
09.02.09
10:23
ИПП.АутентификацияSMTP=СпособSMTPАутентификации.Login;
33 Тиль
 
09.02.09
11:12
(32)-спасибо, работает
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан