наверх
Свободные IT публикации
быстро и доступно
логин:
пароль:

Работа с электронной почтой в 1С 8.x


Как организовать работу с электронной почтой через установленного почтового клиента?

Почта = Новый Почта; 
Почта.Подключиться("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; 

	Док.Записать(); 
КонецЦикла; 

Соединение.Отключиться();