Электронная почта
Отправка сообщений из 1С
&НаСервере
Процедура УстановитьСоединение()
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераSMTP = "smtp.mail.ru";
Профиль.АдресСервераPOP3 = "pop.mail.ru";
Профиль.ПортPOP3 = 110;
Профиль.ПортSMTP = 587;
Профиль.Пользователь = "probasprinter@mail.ru";
Профиль.Пароль = "gfhjkm";
Профиль.ПользовательSMTP = "probasprinter@mail.ru";
Профиль.ПарольSMTP = "gfhjkm";
//Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.Login;
Почта = Новый ИнтернетПочта;
// Создадим почтовое сообщение
Письмо = Новый ИнтернетПочтовоеСообщение;
Текст = Письмо.Тексты.Добавить("Привет Саша");
Текст.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;
Письмо.Тема = "Пробное письмо";
Письмо.Отправитель = "probasprinter@mail.ru";
Письмо.ИмяОтправителя = "Саша";
Письмо.Получатели.Добавить("websprinter@rambler.ru");
Письмо.Получатели.Добавить("sprinter83@yandex.ru");
Письмо.Получатели.Добавить("sprinter83@list.ru");
Попытка
Почта.Подключиться(Профиль);
Сообщить("Подключенено");
Почта.Послать(Письмо);
Сообщить("Письма отправлены");
Исключение
Сообщить("Не удалось подключиться к серверу");
Сообщить(ОписаниеОшибки());
КонецПопытки;
Почта.Отключиться();
Сообщить("Соединение завершено");
КонецПроцедуры
Ещё вариант
ПараметрыПочты = Новый ИнтернетПочтовыйПрофиль;
ПараметрыПочты.АдресСервераSMTP = "smtp.yandex.ru";
ПараметрыПочты.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
ПараметрыПочты.ПользовательSMTP = "v00000000@yandex.ru";
ПараметрыПочты.ПарольSMTP="MILFk0ThX8";
ПараметрыПочты.ИспользоватьSSLSMTP=Истина;
ПараметрыПочты.ПортSMTP = 465;
Письмо=новый ИнтернетПочтовоеСообщение;
Письмо.Тема="Расчетные листки " + ИмяАрхива;
Для Каждого ЭлементСП Из ЭлПочтаСписок Цикл
Письмо.Получатели.Добавить(ЭлементСП.Значение);
КонецЦикла;
//Письмо.Получатели.Добавить(ЭлементыФормы.ЭлПочта);
Письмо.ИмяОтправителя=ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
Письмо.Вложения.Добавить("Z:\Бухгалтерия\РасчетныеЛисты.zip");
Письмо.Отправитель = "v00000000@yandex.ru";
Письмо.Получатели.Добавить("v00000000@yandex.ru");
ТелоПисьма = "<HTML><HEAD></HEAD><BODY>"+ Символы.ПС;
ТелоПисьма = ТелоПисьма + "<META HTTP-EQUIV=""Content-Type"" CONTENT=""text/html; charset=windows-1251"">"+ Символы.ПС;
ТелоПисьма = ТелоПисьма + "<h3>Расчетные листки "+"</h3><br />";
ТелоПисьма = ТелоПисьма + "</BODY></HTML>";
Письмо.Тексты.Добавить(ТелоПисьма, ТипТекстаПочтовогоСообщения.HTML);
Подключение=новый ИнтернетПочта;
Попытка
Подключение.Подключиться(ПараметрыПочты);
Подключение.Послать(Письмо);
Сообщить ("Письмо отправлено успешно.");
Исключение
Сообщить ("Письмо не отправлено." + ОписаниеОшибки());
КонецПопытки;
Как организовать работу с электронной почтой через установленного почтового клиента?
Почта = Новый Почта; Почта.Подключиться("login", "password"); Сообщ = Новый ПочтовоеСообщение; Сообщ.Текст = "Доброе время суток!!!!"; Сообщ.Тема = "Срочно в номер!!!"; Данные = Новый ДвоичныеДанные("c:\attach.txt"); Сообщ.Вложения.Добавить(Данные,"attach.txt"); Сообщ.Получатели.Добавить("hline@1c.ru"); Почта.Послать(Сообщ, Ложь); Почта.Отключиться(); Почта = Новый Почта; Почта.Подключиться("login", "password"); Выборка = Почта.Выбрать(Истина, Ложь); Для Каждого Сообщение Из Выборка Цикл Сообщить("Тема: " + Строка(Сообщение.Тема)); Сообщить("Текст: " + Строка(Сообщение.Текст)); Для Каждого Вложение Из Сообщение.Вложения Цикл Сообщить(Строка(Вложение.Наименование)); КонецЦикла; КонецЦикла;
Как организовать работу с почтой без установленного почтового клиента на компьютере пользователя?
// Сформировать почтовый профиль. // При отправке нет необходимости указывать настройки, связанные с POP сервером. ИПП = Новый ИнтернетПочтовыйПрофиль; ИПП.АдресСервераSMTP = Константы.АдресСервераSMTP.Получить(); ИПП.ВремяОжидания = Константы.ВремяОжидания.Получить(); ИПП.Пароль = Константы.Пароль.Получить(); ИПП.ПарольSMTP = Константы.ПарольSMTP.Получить(); ИПП.Пользователь = Константы.Пользователь.Получить(); ИПП.ПользовательSMTP = Константы.ПользовательSMTP.Получить(); ИПП.ПортSMTP = Константы.ПортSMTP.Получить(); // Создать сообщение. Сообщение = Новый ИнтернетПочтовоеСообщение; Сообщение.Получатели.Добавить("hline@1c.ru"); Сообщение.Отправитель.Адрес = "booktest@yandexyandex.ru"; Сообщение.Тема = "Срочно в номер!"; Сообщение.Тексты.Добавить("Доброе время суток!"); Вложение = Новый ДвоичныеДанные(ПутьКФайлуВложения); Сообщение.Вложения.Добавить(Вложение,"attach.txt"); // Подключиться и отправить. Почта = Новый ИнтернетПочта; Почта.Подключиться(Профиль); Почта.Послать(Сообщение); Почта.Отключиться(); // Формирование почтового профиля. // При получении нет необходимости указывать настройки, связанные с SMTP сервером. СостояниеПриема = "Подключение к серверу"; ИПП = Новый ИнтернетПочтовыйПрофиль; ИПП.АдресСервераPOP3 = Константы.АдресСервераPOP3.Получить(); ИПП.ВремяОжидания = Константы.ВремяОжидания.Получить(); ИПП.Пароль = Константы.Пароль.Получить(); ИПП.Пользователь = Константы.Пользователь.Получить(); ИПП.ПортPOP3 = Константы.ПортPOP3.Получить(); Соединение = Новый ИнтернетПочта; Соединение.Подключиться(ИПП); СостояниеПриема = "Получение выборки писем"; Выборка = Соединение.Выбрать(ЗабиратьССервера); СостояниеПриема = "Создание документов - писем"; КоличествоВВыборке = Выборка.Количество(); Индекс = 1; Для Каждого Письмо Из Выборка Цикл ТекПозиция = Окр(Индекс*100/КоличествоВВыборке); Если ТекПозиция <> Позиция Тогда Позиция = ТекПозиция; КонецЕсли; Док = Документы.Письмо.СоздатьДокумент(); Док.Тема = Письмо.Тема; СтрПолучатели = ""; Для Каждого Адрес Из Письмо.Получатели Цикл СтрПолучатели = СтрПолучатели + Адрес.Адрес + ","; КонецЦикла; Док.Получатели = СтрПолучатели; Если ТипЗнч(Письмо.Отправитель) = Тип("Строка") Тогда Отправитель = Письмо.Отправитель; Иначе Отправитель = Письмо.Отправитель.Адрес; КонецЕсли; Док.Отправитель = Отправитель; Содержание = ""; Для Каждого ТекстСообщения Из Письмо.Тексты Цикл Содержание = Содержание + ТекстСообщения.Текст + Символы.ПС; КонецЦикла; Док.Содержание = Содержание; Индекс = Индекс + 1; Док.Записать(); КонецЦикла; Соединение.Отключиться();