1С 8.3 Отправить письмо с вложенной картинкой
Данные > Примеры кода 1С > 1С 8.3 Электронная почта (E-mail)
Перейти в раздел примеры кода 1С 8.3:
Исходящее электронное письмо с вложенной картинкой в 1С 8.3:
&НаСервере
Процедура ОтправитьПисьмоСВложеннойКартинкой() // PNG
ТекПолучатель="info@1cnik.by";
ТекТема="Фото логотипа 1С с конференции";
ЭлПочтаДляОтправки = "from1C@yandex.ru" ; //Константы.ЭлПочтаДляОтправки.Получить()
ПочтовыйПрофиль = СозданиеИнтернетПрофиля();
Сообщить(" ...Пожалуйста подождите... Идет отправка письма на "+ТекПолучатель);
Email = Новый ИнтернетПочта;
Попытка
Email.Подключиться(ПочтовыйПрофиль);
Исключение
ВызватьИсключение "Письмо НЕ отправлено! "+ОписаниеОшибки()+"!";
КонецПопытки;
ПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение;
ПочтовоеСообщение.Отправитель.Адрес = ЭлПочтаДляОтправки; // ЭлПочтаДляОтправки.АдресЭлектроннойПочты - если константа
ПочтовоеСообщение.Отправитель.ОтображаемоеИмя = "из 1С";
ПочтовоеСообщение.ИмяОтправителя = "ООО ТехноСервисПлюс"; // ЭлПочтаДляОтправки.АдресЭлектроннойПочты - если константа
ПочтовоеСообщение.Тема = ТекТема;
Получатели = ПочтовоеСообщение.Получатели;
Получатель = Получатели.Добавить();
Получатель.Адрес = ТекПолучатель;
ИнтернетТекстПочтовогоСообщения = ПочтовоеСообщение.Тексты.Добавить();
ИнтернетТекстПочтовогоСообщения.ТипТекста = ТипТекстаПочтовогоСообщения.HTML; // Нужно для всьтвки картинки
ИнтернетТекстПочтовогоСообщения.Текст =
Процедура ОтправитьПисьмоСВложеннойКартинкой() // PNG
ТекПолучатель="info@1cnik.by";
ТекТема="Фото логотипа 1С с конференции";
ЭлПочтаДляОтправки = "from1C@yandex.ru" ; //Константы.ЭлПочтаДляОтправки.Получить()
ПочтовыйПрофиль = СозданиеИнтернетПрофиля();
Сообщить(" ...Пожалуйста подождите... Идет отправка письма на "+ТекПолучатель);
Email = Новый ИнтернетПочта;
Попытка
Email.Подключиться(ПочтовыйПрофиль);
Исключение
ВызватьИсключение "Письмо НЕ отправлено! "+ОписаниеОшибки()+"!";
КонецПопытки;
ПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение;
ПочтовоеСообщение.Отправитель.Адрес = ЭлПочтаДляОтправки; // ЭлПочтаДляОтправки.АдресЭлектроннойПочты - если константа
ПочтовоеСообщение.Отправитель.ОтображаемоеИмя = "из 1С";
ПочтовоеСообщение.ИмяОтправителя = "ООО ТехноСервисПлюс"; // ЭлПочтаДляОтправки.АдресЭлектроннойПочты - если константа
ПочтовоеСообщение.Тема = ТекТема;
Получатели = ПочтовоеСообщение.Получатели;
Получатель = Получатели.Добавить();
Получатель.Адрес = ТекПолучатель;
ИнтернетТекстПочтовогоСообщения = ПочтовоеСообщение.Тексты.Добавить();
ИнтернетТекстПочтовогоСообщения.ТипТекста = ТипТекстаПочтовогоСообщения.HTML; // Нужно для всьтвки картинки
ИнтернетТекстПочтовогоСообщения.Текст =
"
|<h3> Здравствуйте !</h3>
|Фото во вложении.<br />
|Фото:<br />
|<img src=""file:///D|/Event2020/PhotoLabel1C.png"" /><br />
|";
ИнтернетТекстПочтовогоСообщения.ОбработатьТексты(); // Чтение PhotoLabel1C.png с диска и добавление в почтовое сообщение
Попытка
Email.Послать(ПочтовоеСообщение);
Сообщить("Отправлено письмо на e-mail:"+СокрЛП(ТекПолучатель));
Исключение
Email.Отключиться();
ВызватьИсключение "Письмо НЕ отправлено! "+ОписаниеОшибки()+"!";
КонецПопытки;
Email.Отключиться(); // Если не отключиться - будет "висеть" в процессах
КонецПроцедуры
Функция СозданиеИнтернетПрофиля()
ПочтовыйПрофиль = Новый ИнтернетПочтовыйПрофиль;
ПочтовыйПрофиль.ВремяОжидания = 300;// Google рекомендует 5 минут
// Исходящая почта
//Если ФормироватьIMAPПрофиль Тогда
ПочтовыйПрофиль.АдресСервераIMAP = "imap.yandex.ru"; // imap.mail.ru
ПочтовыйПрофиль.ПользовательIMAP = "from1C@yandex.ru"; // from1C@mail.ru
ПочтовыйПрофиль.ПортIMAP = 993; // 993
Попытка
ПочтовыйПрофиль.ИспользоватьSSLIMAP = Истина;
Исключение
Сообщить("Не работает служба SSL IMAP! Для корректной работы необходима платформа 1С версии не менее 8.3!");
КонецПопытки;
ПочтовыйПрофиль.ПарольIMAP = "Ro1Cte921hAb8sKf4";
//КонецЕсли;
//Если ФормироватьSMTPПрофиль Тогда
ПочтовыйПрофиль.АдресСервераSMTP = "smtp.yandex.ru"; // smtp.mail.ru
ПочтовыйПрофиль.ПользовательSMTP = "from1C@yandex.ru"; // from1C@mail.ru
ПочтовыйПрофиль.ПортSMTP = 465; // 465
Попытка
ПочтовыйПрофиль.ИспользоватьSSLSMTP = Истина;
Исключение
Сообщить("Не работает служба SSL SMTP! Для корректной работы необходима платформа 1С версии не менее 8.3!");
КонецПопытки;
ПочтовыйПрофиль.ПарольSMTP = "Ro1Cte921hAb8sKf4";
ПочтовыйПрофиль.АутентификацияSMTP = СпособSMTPАутентификации.Login;
//КонецЕсли;
// Входящая почта
//Если ФормироватьPOP3Профиль Тогда
ПочтовыйПрофиль.АдресСервераPOP3 = "pop.yandex.ru"; // pop.mail.ru
ПочтовыйПрофиль.Пользователь = "from1C@yandex.ru"; // from1C@mail.ru
ПочтовыйПрофиль.ПортPOP3 = 993; // 995
Попытка
ПочтовыйПрофиль.ИспользоватьSSLPOP3 = Истина;
Исключение
Сообщить("Не работает служба SSL POP3! Для корректной работы необходима платформа 1С версии не менее 8.3!");
КонецПопытки;
ПочтовыйПрофиль.Пароль = "Ro1Cte921hAb8sKf4";
//Если НастройкиСоединения.СпособPOP3Аутентификации = Перечисления.СпособыPOP3Аутентификации.APOP Тогда
// ПочтовыйПрофиль.АутентификацияPOP3 = СпособPOP3Аутентификации.APOP;
//ИначеЕсли НастройкиСоединения.СпособPOP3Аутентификации = Перечисления.СпособыPOP3Аутентификации.CramMD5 Тогда
// ПочтовыйПрофиль.АутентификацияPOP3 = СпособPOP3Аутентификации.CramMD5;
//Иначе
// ПочтовыйПрофиль.АутентификацияPOP3 = СпособPOP3Аутентификации.Обычная;
//КонецЕсли;
//КонецЕсли;
Возврат ПочтовыйПрофиль;
КонецФункции
Попытка
Email.Послать(ПочтовоеСообщение);
Сообщить("Отправлено письмо на e-mail:"+СокрЛП(ТекПолучатель));
Исключение
Email.Отключиться();
ВызватьИсключение "Письмо НЕ отправлено! "+ОписаниеОшибки()+"!";
КонецПопытки;
Email.Отключиться(); // Если не отключиться - будет "висеть" в процессах
КонецПроцедуры
Функция СозданиеИнтернетПрофиля()
ПочтовыйПрофиль = Новый ИнтернетПочтовыйПрофиль;
ПочтовыйПрофиль.ВремяОжидания = 300;// Google рекомендует 5 минут
// Исходящая почта
//Если ФормироватьIMAPПрофиль Тогда
ПочтовыйПрофиль.АдресСервераIMAP = "imap.yandex.ru"; // imap.mail.ru
ПочтовыйПрофиль.ПользовательIMAP = "from1C@yandex.ru"; // from1C@mail.ru
ПочтовыйПрофиль.ПортIMAP = 993; // 993
Попытка
ПочтовыйПрофиль.ИспользоватьSSLIMAP = Истина;
Исключение
Сообщить("Не работает служба SSL IMAP! Для корректной работы необходима платформа 1С версии не менее 8.3!");
КонецПопытки;
ПочтовыйПрофиль.ПарольIMAP = "Ro1Cte921hAb8sKf4";
//КонецЕсли;
//Если ФормироватьSMTPПрофиль Тогда
ПочтовыйПрофиль.АдресСервераSMTP = "smtp.yandex.ru"; // smtp.mail.ru
ПочтовыйПрофиль.ПользовательSMTP = "from1C@yandex.ru"; // from1C@mail.ru
ПочтовыйПрофиль.ПортSMTP = 465; // 465
Попытка
ПочтовыйПрофиль.ИспользоватьSSLSMTP = Истина;
Исключение
Сообщить("Не работает служба SSL SMTP! Для корректной работы необходима платформа 1С версии не менее 8.3!");
КонецПопытки;
ПочтовыйПрофиль.ПарольSMTP = "Ro1Cte921hAb8sKf4";
ПочтовыйПрофиль.АутентификацияSMTP = СпособSMTPАутентификации.Login;
//КонецЕсли;
// Входящая почта
//Если ФормироватьPOP3Профиль Тогда
ПочтовыйПрофиль.АдресСервераPOP3 = "pop.yandex.ru"; // pop.mail.ru
ПочтовыйПрофиль.Пользователь = "from1C@yandex.ru"; // from1C@mail.ru
ПочтовыйПрофиль.ПортPOP3 = 993; // 995
Попытка
ПочтовыйПрофиль.ИспользоватьSSLPOP3 = Истина;
Исключение
Сообщить("Не работает служба SSL POP3! Для корректной работы необходима платформа 1С версии не менее 8.3!");
КонецПопытки;
ПочтовыйПрофиль.Пароль = "Ro1Cte921hAb8sKf4";
//Если НастройкиСоединения.СпособPOP3Аутентификации = Перечисления.СпособыPOP3Аутентификации.APOP Тогда
// ПочтовыйПрофиль.АутентификацияPOP3 = СпособPOP3Аутентификации.APOP;
//ИначеЕсли НастройкиСоединения.СпособPOP3Аутентификации = Перечисления.СпособыPOP3Аутентификации.CramMD5 Тогда
// ПочтовыйПрофиль.АутентификацияPOP3 = СпособPOP3Аутентификации.CramMD5;
//Иначе
// ПочтовыйПрофиль.АутентификацияPOP3 = СпособPOP3Аутентификации.Обычная;
//КонецЕсли;
//КонецЕсли;
Возврат ПочтовыйПрофиль;
КонецФункции
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник