HelpF.pro

Как получить и отправить почту? (ИнтернетПочта, ИнтернетПочтовыйПрофиль, ИнтернетПочтовоеСообщение)

Отправка
Код 1C v 8.2 УП
 // отправка почтового сообщения...
	Профиль = новый ИнтернетПочтовыйПрофиль;
	Профиль.АдресСервераSMTP = "smtp.yandex.ru";
	Профиль.ПользовательSMTP = "111";
	Профиль.ПарольSMTP = "222222"; // 
	ПРофиль.АутентификацияSMTP = СпособSMTPАутентификации.Login;
	
	Сообщение = Новый ИнтернетПочтовоеСообщение;
	Сообщение.Отправитель = "121@yandex.ru";
	Сообщение.Тема = ""+ПрефиксФилиала;
	Сообщение.Получатели.Добавить("12321@yandex.ru");
	Сообщение.Тексты.Добавить(ТекстПисьма);
	Сообщение.Вложения.Добавить(ИмяВременногоZiPфайла);
	
	Почта = Новый ИнтернетПочта;
	Попытка 
		Состояние("Отправка почтового сообщения...");
		Почта.Подключиться(Профиль);
		Почта.Послать(Сообщение);
		Предупреждение("Сообщения успешно отправлены!");
	Исключение
		Сообщить("Ошибка соединения с сервером.",СтатусСообщения.ОченьВажное);
		Сообщить(""+ОписаниеОшибки());
	КонецПопытки;   


Получение
Код 1C v 8.2 УП
 Профиль = новый ИнтернетПочтовыйПрофиль;
    Профиль.АдресСервераPOP3 = "pop3.yandex.ru";
    Профиль.Пользователь = "121";
    Профиль.Пароль = "12321";
    ПРофиль.АутентификацияPOP3 = СпособPOP3Аутентификации.Обычная;
    
    Попытка
        Предупреждение("Попытка подключения к серверу почты "+Профиль.АдресСервераPOP3);
        Состояние("Подключение к серверу "+Профиль.АдресСервераPOP3);
        Почта = Новый ИнтернетПочта;
        Почта.Подключиться(Профиль);
        
        МассивСообщений = Новый Массив;
        Предупреждение("Чтение почтовых сообщений");
        Состояние("Чтение почтовых сообщений...");
        МассивСообщений = Почта.Выбрать(Ложь); // ЛОжь - письма с сервера не удаляются...
    Исключение
        Предупреждение("Ошибка подключения к серверу ","Остановить");
        Предупреждение(""+ОписаниеОшибки(),"Остановить");
        Сообщить("Ошибка подключения к серверу!");
        Сообщить(""+ОписаниеОшибки());
        Возврат;
    КонецПопытки;
    
    Если МассивСообщений.Количество() = 0 Тогда
        Предупреждение("В почтовом ящике нет сообщений. Прерываем работу.");
        Сообщить("Почтовый ящик пуст");
        ПолученныеПисьма.Очистить();
        Возврат;
    КонецЕсли;
    ОтобразитьПочтовыеПисьма();
КонецПроцедуры

Процедура ОтобразитьПочтовыеПисьма()
    ПолученныеПисьма.Очистить();
    Если МассивСообщений.Количество() = 0 Тогда
        Возврат; // почтовых сообщений нету.
    КонецЕсли;
    
    Предупреждение("Начало отображения сообщений в обработке");
    МассивСообщенийОбмена = новый Массив;
    
    ИмяФайлаСообщения = "";
    ПолученныеПисьма.Очистить();
    Для Индекс = 0 По МассивСообщений.Количество() - 1 Цикл
        стр = ПолученныеПисьма.Добавить();
        стр.ДатаОтправления = МассивСообщений[Индекс].ДатаОтправления;
        стр.ЗаголовокСообщения = МассивСообщений[Индекс].Заголовок;
        стр.Индекс = Индекс;
        стр.КоличествоВложений = МассивСообщений[Индекс].Вложения.Количество();
        стр.КоличествоТекстов = МассивСообщений[Индекс].Тексты.Количество();
        стр.Размер = МассивСообщений[Индекс].Размер;
        стр.Тема = МассивСообщений[Индекс].Тема;
    КонецЦикла;
    Предупреждение("Сообщения отображены");
       

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq8/view/1467.html