1С пошта (надіслати та отримати листи)
У системі 1С є можливість надсилати електронні листи. Використовуючи вбудовані об'єкти та функції в системі 1C, можна надіслати листа на електронну пошту. У багатьох типових конфігураціях є готові функції для надсилання пошти. Найчастіше ці процедури чи функції розташовуються у загальних модулях.
На багатьох популярних поштових серверах надсилання пошти підтримується лише за допомогою технології шифрування. SSL. У системі 1С:Підприємство 8 використання технології SSL доступно лише на платформах не нижче версії 1С:Підприємство 8.3. Детальнішу інформацію про платформи можна дізнатися на сайті компанії 1c.ru
Адреси, порти популярні поштові сервери та інші параметри пошти доступні на сайтах постачальників.
Функція Надіслати Лист()
Функція Надіслати Лист(EmailВідправника, ПарольВідправника,
Порт, АдресаСервера, EmailОтримувача,
Ім'яОдержувача, Текст Повідомлення,
ЗаголовокПовідомлення, МасивФайловихШляхів)
//ПОШТОВИЙ ПРОФІЛЬ
Профіль =
Новий ІнтернетПоштовий Профіль;
Профіль.ВикористатиSSLSMTP =
Істина;
Профіль.АдресаСервераSMTP = АдресаСервера;
Профіль.ПортSMTP = Порт;
Профіль.Користувач = EmailВідправника;
Профіль.Пароль = ПарольВідправника;
Профіль.АутентифікаціяSMTP = Спосіб SMTP Аутентифікації.За замовчуванням;
Профіль.ПарольSMTP = ПарольВідправника;
Профіль.Користувач SMTP = EmailВідправника;
//ПОШТОВЕ ПОВІДОМЛЕННЯ
Повідомлення =
Новий ІнтернетПоштове Повідомлення;
Повідомлення.Відправник = EmailВідправника;
Повідомлення.Тема = ЗаголовокПовідомлення;
Повідомлення.Тексти.Додати(Текст Повідомлення, ТипТексту Поштового Повідомлення.HTML);
Повідомлення.Організація =
"The company";
Адреса = Повідомлення.Одержувачі.Додати(EmailОтримувача);
Адреса.Ім'я, що відображається = Ім'яОдержувача;
Для
кожного ШляхКФайлу З МасивФайловихШляхів Цикл
Повідомлення.Вкладення.Додати(ШляхКФайлу);
КінецьЦикл;
// ПОШТОВИЙ СЕРВЕР
Пошта =
Новий ІнтернетПошта();
//Підключення до сервера
Спроба
Пошта.Підключитися(Профіль);
Виняток
Повідомити("Помилка при підключенні до сервера: "
+ ОписПомилки());
Повернення
Брехня;
КінецьСпроби;
// Відправлення листа
Спроба
Пошта.Надіслати(Повідомлення);
Виняток
Пошта.Вимкнутись();
Повідомити("Помилка під час надсилання листа: "
+ ОписПомилки());
Повернення
Брехня;
КінецьСпроби;
Пошта.Вимкнутись();
Повернення
Істина;
КінецьФункції
Функція Отримати Листи()
Функція Отримати Листи()
//ПОШТОВИЙ ПРОФІЛЬ
Профіль =
Новий ІнтернетПоштовий Профіль;
Профіль.Користувач =
"[email protected]";
Профіль.Пароль =
"xxxxxx";
Профіль.АдресаСервераPOP3 =
"pop3.mail.ru";
Профіль.Аутентифікація POP3 = СпосібPOP3Аутентифікації.Звичайна;
Масив листів =
Новий масив();
//ОТРИМАННЯ ЛИСТІВ
Спроба
Пошта =
Новий ІнтернетПошта;
Пошта.Підключитися(Профіль);
Масив листів = Пошта.Вибрати(Брехня);
Виняток
Повідомити("Помилка отримання пошти"
+ ОписПомилки());
КінецьСпроби;
Повернення Масив листів;
КінецьФункції
Надсилання пошти з 1С 8.3 (налаштування облікового запису електронної пошти)
Якщо вам потрібно налаштувати електронну пошту в 1С 8.3, то ви можете скористатися інструкцією на цій сторінці.
Надсилання пошти з 1С 8.3 може знадобитися, наприклад, коли потрібно надіслати рахунок на оплату клієнту. Для цього потрібно налаштувати обліковий запис пошти в 1С. Далі буде розказано, як це зробити.
Тепер по пунктах розпишемо, що потрібно зробити, щоб надсилати листи з 1С 8.3.Покажемо це на прикладі програми 1С:Бухгалтерія підприємства 3.0, а використовуватиметься пошта з поштового сервера mail.ru, тому що надсилання листів із цього поштового сервісу можна легко налаштувати в 1С. Майте на увазі, що для налаштування надсилання листів з інших поштових сервісів (наприклад, gmail.com) можуть бути потрібні додаткові дії, які не описані в цій статті. Якщо вам потрібно налаштувати в 1С пошту gmail.ru, то перейдіть до цієї інструкції.
1. Відкриваємо програму 1С. Заходимо в Адміністрація (1) — Організатор (2).
2. У розділі Пошта обираємо Налаштування системного облікового запису.
3. Відкриється вікно налаштувань як на зображенні нижче.
— Вводимо адресу електронної пошти, яка буде використовуватися для надсилання листів (1);
- Вводимо пароль від облікового запису цієї електронної пошти (2);
— Виставляємо галочку Для надсилання пошти. Також можна виставити галочку Для отримання пошти (3);
— Вибираємо для когось створювати обліковий запис: або Для всіх користувачів, або Тільки для мене - для поточного користувача (4);
— Вказуємо ім'я відправника, яке буде видно одержувачам. Це може бути назва вашої організації (5);
- Ставимо перемикач на Налаштувати параметри підключення вручнущоб не пропустити важливі моменти процесу налаштування (6);
- Тепер натискаємо Далі (7).
4. З'явиться вікно налаштування надсилання листів із 1С.
— Перевіряємо, чи правильно заповнено ім'я користувача (1);
- Вводимо пароль від облікового запису пошти (2);
- У полі Сервер вкажемо наступну адресу: smtp.mail.ru (3);
- У полі Порт вкажемо таке число: 465 (4);
— Виставимо галочку Використовувати безпечне з'єднання (SSL) (5);
- Натискаємо Далі (6).
5. З'явиться подібне до попереднього вікна. Тільки тут налаштовується отримання листів.
- Перевіримо ім'я користувача (1);
- Перевіримо пароль (2);
- У полі Сервер вкажемо наступну адресу: pop.mail.ru (3);
— У полі вибору Протокол вкажемо протокол під назвою POP (4);
- У полі Порт вкажемо таке число: 995 (5);
— Виставимо галочку Використовувати безпечне з'єднання (SSL) (6);
— Знову натискаємо Далі (7).
6.У наступному вікні можна нічого не змінювати. Далі.
7Після цього деякий час буде йти перевірка налаштувань облікового запису.
8. Після закінчення перевірки з'явиться напис. Обліковий запис успішно налаштований. Натискаємо кнопку Перейти до облікового запису.
9.Перевіримо, що пошта налаштована правильно.
- Відкриваємо меню Ще (1);
- Натискаємо на пункт меню Перевірити налаштування (2);
10Якщо все налаштовано правильно, з'явиться вікно з написом «Перевірка параметрів облікового запису успішно». ОК (1). Записати та закрити (2).
Отже, ми налаштували обліковий запис електронної пошти в 1С.
11. Перейдемо в Головне (1) — Персональні налаштування (2).
12. Натисніть на посилання. Установки електронної пошти.
13.Відкриється вікно налаштувань.
— У полі вибору «Основний парний запис…» оберемо обліковий запис, який ми щойно створили, у разі це «Системний обліковий запис» (1);
- Ви можете поставити галочку Надсилати копії вихідних листів на адресу та вказати на які адреси надходитимуть копії, надісланих Вами листів.
— У текстовому полі, ви можете поставити, як виглядатиме підпис до Ваших листів (2);
— Після редагування натискайте ОК (3).
14.Натискаємо «Записати та закрити» у вікні персональних налаштувань.
Отже, налаштування пошти завершено! Давайте спробуємо відправити комусь рахунок на оплату…
15.У документі вибираємо кнопку-команду із зображенням конверта.
16.У списку друкованих форм відзначимо галочками форми, які ми хочемо відправити контрагенту (1).Для вибору в якому форматі відправляти друковану форму ви можете натиснути на посилання Формат вкладень (2);
17.Позначаємо галочками потрібний формат (1). Упакувати до архіву (.zip) (2). Вибрати.
18.Повернувшись у вікно вибору друкованих форм, теж натискаємо Вибрати.
19.Відкриється вікно надсилання повідомлення.
— У полі вибору Кому вибирайте контактну особу, якій хочете надіслати листа (1);
- У полі Тема вказано тему листа. Можна її відредагувати, як вам потрібно.
- Якщо це необхідно, відредагуйте текст листа (3);
- Можете прикріпити до нього додаткові файли (4);
— Нарешті можна натискати кнопку Надіслати (5);
20.Лист відправлений! Контрагент його отримав!
Програмне відправлення електронного листа до 1с
Якщо вам потрібно надіслати електронний лист програмним способом, без зайвих діалогів та додаткових програм та бібліотек, то я вам розповім як це зробити кількома способами.
Перший спосіб
В 1с:Підприємства 8.х можна користуватися типовим функціоналом платформи за допомогою Пошта = Новий Інтернет
//Створюємо профіль або зчитуємо з довідника Профіль = Новий Поштовий Профіль; Профіль.АдресаСервераSMTP = Відправник.АдресаСервераSMTP; //"smtp.mail.ru"; Профіль.АдресаСервераPOP3 = Відправник.АдресаСервераPOP3; //"pop.mail.ru"; Профіль.ПортPOP3 = Відправник.ПортPOP3; //110; Профіль. Порт SMTP = Відправник. Порт SMTP; //587; Профіль.Користувач = Відправник.Email; //"[email protected]"; Профіль.Пароль = Відправник.Пароль; //"123456789"; Профіль.КористувачSMTP = Відправник.Email; //"[email protected]"; Профіль.ПарольSMTP = Відправник.Пароль; //"123456789"; Профіль.Аутентифікація SMTP = Спосіб SMTP Аутентифікації. За замовчуванням; / / Створюємо лист Пошта = Новий Інтернет Пошта; Лист = Новий ІнтернетПоштове Повідомлення; Текст = Лист.Тексти.Додати("Це текст листа."); Текст. Тип тексту = Тип тексту Поштового повідомлення. Простий текст; Тема = "Це тема листа"; Лист. Відправник = "Відправник"; Письмо.ИмяОтправителя = "Ім'я відправника"; Лист.Одержувачі.Додати("[email protected]"); Лист.Вкладення.Додати(Файл); //додаємо вкладення якщо потрібно, наприклад "C:\Додаток.doc" //Вкладень можна додавати скільки потрібно. //Надсилаємо лист Спроба Пошта.Підключитися(Профіль); Пошта.Послати(Лист); Виняток Повідомити(ОписПомилки()); КінецьСпроби; // Закриваємо лист Пошта. Відключитися (); //Закриваємо файл вкладення Лист.Вкладення.Очистити();
Другий спосіб
Це надсилання за допомогою Microsoft CDO. Його можна використовувати як у 8.х так і у 7.7. Також підтримує вкладення, копії листів на інші email.
Використовувати SSL = Істина; iConf = Новий COMОб'єкт ("CDO.Configuration"); iMsg = Новий COMОб'єкт ("CDO.Message"); iMsg.Configuration = iConf; iMsg.from = Відправник. Найменування; iMsg.to = EMAILОдержувача; iMsg.sender = Відправник. Найменування; iMsg.Subject = Тема; iMsg.TextBody = Текст Листи; iMsg.BodyPart.Charset = "Windows-1251"; iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value = 2; iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value = Відправник.АдресаСервераSMTP; iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value = Відправник.ПортSMTP; iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = 1; // 0 - Do not authenticate; 1 - basic (clear-text) authentication; 2 - NTLM iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername").Value = Відправник.Email; iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value = Відправник.Пароль; Якщо Використовувати SSL = Істина, то iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl").Value = 1; КінецьЯкщо; iConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60; iMsg.AddAttachment(Файл); //Вкладення листа Спроба iConf.Fields.Update(); Виняток Повідомити(ОписПомилки()); Повернення; КінецьСпроби; Спроба iMsg.Send(); Виняток Повідомити(ОписПомилки()); Повернення; КінецьСпроби;
У 1с 7.7 все аналогічно, крім створення COM об'єкта:
iConf = CreateObject("CDO.Configuration"); iMsg = CreateObject("CDO.Message");