Як отримувати прайс постачальника з листа

14 хв

Elbuz сам заходить у вашу поштову скриньку, знаходить лист постачальника за умовою й забирає з нього прайс. Зберігати вкладення й завантажувати файл руками не потрібно.

Коли це знадобиться:

  • Постачальник шле прайс вкладенням — програма бере останній лист, що підходить під умову, і його файл.
  • Пошта на Gmail, Outlook, Ukr.net чи іншому сервісі — майстер сам підставляє сервери й порти для 15 провайдерів.
  • У листі кілька вкладень — умова за іменем файла вибирає потрібне.
  • У листі посилання замість файла — програма дістає адресу з тексту листа.

З чого почати: картка джерела → секція «Джерело» → плитка «E-mail» → кнопка «Додати» біля списку скриньок.

Що вміє отримання прайсу з пошти

Де це і хто має доступ

Меню
Довідники → Обробка прайс-листів → Список прайс-листів
Картка джерела
секція «Джерело» → плитка «E-mail»
Поштова скринька
кнопки «Додати» і «Налаштувати» біля списку скриньок
Право доступу
вікно «Список прайс-листів» плюс «Налаштування завантаження» і «…файл із прайс-листом»
Підготувати
скриньку й пароль до неї, адресу відправника або тему листа, приклад файла

Чому в джерелі має бути налаштований лише один спосіб — у статті про способи отримувати прайс.

Що потрібно, щоб прайс забирався з пошти

Постачальник шле файл вкладенням, програма сама заходить у скриньку, знаходить лист і забирає вкладення.

Щоб це працювало, потрібні дві речі одразу: обрана скринька й збережена умова відбору листів. Одного без іншого не досить — і саме на цьому спотикаються найчастіше.

Як підключити поштову скриньку

Скриньку обирають у списку «Поштова скринька, куди приходять прайси». Поруч дві кнопки: «Додати» відкриває майстер підключення нової скриньки, «Налаштувати» — форму вже підключеної. Вибір скриньки зберігається автоматично.

Майстер має два кроки — «Провайдер» і «Дані». На першому — плитки пʼятнадцяти поштових сервісів: Gmail, Outlook / Office 365, iCloud Mail, Yahoo, Zoho Mail, GMX, Ukr.net, Meta.ua / i.ua, WP.pl, Onet.pl, Interia.pl, WEB.DE, Fastmail, AOL Mail і «Інший» → «Налаштувати вручну». Для кожного з них адреси серверів і порти вже прописані, вписувати їх руками не треба.

Восьми сервісам — Gmail, Outlook, iCloud, Yahoo, Zoho, Ukr.net, Fastmail і AOL — майстер показує окрему підказку: «Для цього сервісу потрібен пароль застосунку (для сторонніх програм), а не звичайний пароль від акаунта.» Поруч посилання на офіційний посібник із налаштування. Звичайний пароль ці сервіси просто не приймуть, скільки б разів ви його не вписали.

На другому кроці — «Адреса пошти», «Пароль», «Імʼя відправника», а у фолді «Налаштування серверів (IMAP/SMTP)» — сервери, порти й прапорець «Використовувати SSL». Порт IMAP у всіх провайдерів 993, порт SMTP залежить від сервісу (здебільшого 465, у Outlook, iCloud і WEB.DE — 587), SSL увімкнено, папка вхідних INBOX — усе це підставляє плитка провайдера. Після кнопки «Підключити» програма одразу перевіряє зʼєднання й показує два рядки — «IMAP: …» і «SMTP: …» — зеленим або червоним. Скринька, створена майстром, тут-таки привʼязується до джерела.

Майстер підключення поштової скриньки — крок «Провайдер»
1Плитка Gmail
2Плитка «Інший»
  1. Gmail — після вибору система сама підставить сервери IMAP/SMTP.
  2. «Інший» — ручне налаштування сервера для провайдерів, яких немає в списку.
Майстер підключення поштової скриньки — крок «Дані» з підказкою про пароль застосунку
1Підказка про пароль застосунку
  1. Для Gmail потрібен окремий пароль застосунку — звичайний пароль облікового запису не підійде.

Як указати, який лист — прайс

Далі треба пояснити програмі, який саме лист вважати прайсом. Це робить конструктор під підзаголовком «Налаштування отримання прайс-листу». Підказка над ним каже: «Складіть умову фільтрації листів для отримання прайс-листа за ел. поштою. Обмежте отримання листів за датою, щоб не качати всю пошту від вибраного відправника. Натисніть кнопку "Додати" та виберіть умову.»

Поле умовиОператориЩо дає
«Адреса відправника»дорівнює, міститьнайнадійніший відбір, якщо постачальник шле з однієї адреси
«Тема повідомлення»містить, дорівнюєколи адрес кілька, а тема стабільна
«Вміст повідомлення»міститьпошук за текстом листа
«Кількість днів (не більше)»дорівнюєобмежує пошук останніми днями
«Імʼя файлу»містить, дорівнюєвідбір уже не листа, а вкладення в ньому

Перші чотири поля перетворюються на запит до поштового сервера: «Кількість днів» стає обмеженням «листи не старші за таку-то дату», решта — пошуком за відправником, темою й текстом. Оператор «містить» шукає входження, «дорівнює» — точний збіг. А от «Імʼя файлу» працює інакше: це не умова пошуку листів, а маска, за якою серед уже завантажених вкладень обирається потрібне.

Умова зберігається сама — приблизно за секунду після того, як ви перестали набирати, як і решта полів секції «Джерело». Кнопка «Зберегти» під конструктором потрібна тільки тоді, коли хочеться переконатися: вона записує умову одразу й показує тост «Умова збережена».

Пошта забирається лише тоді, коли заповнене й одне, й друге — обрана скринька і задана хоча б одна умова зі значенням. Якщо чогось із цього немає, під конструктором горить червоний рядок: «Умову відбору листів не задано. Завантаження прайс-листа з ел. пошти не виконуватиметься, доки не задано хоча б одну умову зі значенням.» — або, коли не обрана скринька, «Умову збережено, але поштову скриньку не вибрано. Завантаження прайс-листа з ел. пошти не виконуватиметься, доки не вибрано скриньку в полі "Адреса електронної пошти".»

У журнал прогону при цьому не йде жодного рядка: програма просто не заходить у скриньку. Тобто єдине місце, де видно причину, — оцей рядок у картці.

Секція «Джерело» прайсу зі способом E-Mail: поштова скринька та умова відбору листів
1Поштова скринька для прайсів
2Умова відбору листів
3Кнопка «Зберегти»
  1. Поштова скринька, куди приходять прайси — звідси система забирає файл; кнопки «Додати» і «Налаштувати» додають новий ящик або редагують вибраний.
  2. Умова відбору листів перевіряє адресу відправника і обмежує вибірку останніми днями, щоб не завантажувати всю пошту.
  3. Кнопка «Зберегти» під конструктором записує умову відбору; «Очистити все» скидає її.

Що програма робить із листом

Знайшовши листи за умовою, програма бере рівно один — останній із них. Якщо постачальник надіслав два прайси за день, обробиться той, що прийшов пізніше. Це не налаштовується.

Перед кожним прогоном папка вкладень очищається, тож старі файли не змішуються з новими. Картинки з листа програма викидає, залишаються тільки файли. Лист, з якого взято файл, програма позначає у скриньці прочитаним. На відбір це не впливає: умова не розрізняє прочитані й непрочитані листи, тож без новішого листа наступний прогін знову візьме той самий.

Окремий випадок — коли в листі не вкладення, а посилання на файл. Тоді заповнюють поле «Регулярний вираз для отримання посилання на прайс із листа»: програма застосує вираз до тексту листа, візьме звідти адресу й далі поводитиметься так, ніби це джерело за посиланням.

Якщо листів за умовою немає, у журналі зʼявиться «За заданим фільтром немає листів! Обробляємо попередній файл.» — і прогін не зупиниться, а піде далі на попередньому файлі. Помилкою це не вважається, поки новий прайс не запізнюється довше, ніж зазвичай (як часто постачальник надсилає прайс).

Інша справа — коли програма не змогла перевірити скриньку. «Не вдалося підключитися до поштової скриньки ‹адреса› (сервер ‹сервер›): ‹причина›…» означає, що сервер не пустив програму: не той пароль, змінився сервер чи порт. «Поштова скринька ‹адреса› (сервер ‹сервер›) відповіла помилкою під час пошуку листа…» — підключитися вдалося, але сервер зламався на пошуку. В обох випадках прогін позначається помилкою, а файл, що лишився з минулого листа, у роботу не йде — товари працюють із попереднього прогону.

Приклад постачальника, який шле прайс лише листом, — IPC: як налаштувати умову відбору й колонки його файлу, розібрано в статті Прайс IPC: підключення з листа й налаштування колонок.

Чотири бічні виходи — чотири рядки журналу. Після трьох нового файла з пошти не буде; після «Не отримано файл із прайс-листом…» файл ще може прийти за посиланням із листа, якщо заданий регулярний вираз. Помилкою прогін позначають два виходи — незаповнений доступ і збій скриньки. Регулярний вираз перевіряється в кінці: знайдене в листі посилання замінює вкладення
НіТакСкринька не пустилаабо сервер дав збійНіТакНіТакТакОтримуємо файл ел. поштоюУ скриньки заповненісервер, порт, користувач і парольIMAP?«Не вказано параметри доступудо поштового сервера (IMAP)…»Пошук листів за умовою:відправник, тема, вміст, кількістьднів«Не вдалося підключитися допоштової скриньки…»або «…відповіла помилкою підчас пошуку листа»прогін позначається помилкоюЗнайшовся хоч один лист?«За заданим фільтром немаєлистів!Обробляємо попередній файл.»Береться останній лист.Вкладення зберігаються, картинкивикидаютьсяЄ вкладення під «Імʼя файлу»?Без цієї умови підходить будь-яке«Не отримано файл ізпрайс-листомдля завантаження даних.»Перше таке вкладення стаєфайлом прайсу,лист позначається прочитанимЗаповнено регулярний виразі в листі знайшлося посилання?Файл качається за цимпосиланнямі замінює вкладення
  • Дія або результат
  • Розвилка: далі шлях залежить від відповіді

Сценарії

Прайс приходить листом, іноді двічі на день

Що зробити. Плитка «E-mail», у списку «Поштова скринька, куди приходять прайси» — кнопка «Додати» і провайдер; для Gmail, Outlook, iCloud, Yahoo, Zoho, Ukr.net, Fastmail і AOL — пароль застосунку. У конструкторі умови: «Адреса відправника» — «дорівнює» адресі постачальника, «Кількість днів (не більше)» — наприклад, 2. Якщо в листі кілька вкладень, додайте «Імʼя файлу» — «містить» і стабільну частину назви прайсу.

Що вийде. Програма шукає листи від цієї адреси за останні дні, бере найпізніший і з нього — перше вкладення, що підходить під «Імʼя файлу». Лист позначається прочитаним.

Чого не буде. Ранковий прайс, якщо ввечері прийшов другий, не обробиться: береться лише останній лист. Без «Кількість днів» програма знайде старий лист і імпортує його, навіть коли нового не було. Без обраної скриньки або без умови пошта не забирається взагалі, і в журналі про це нічого немає — причина видна тільки червоним рядком під конструктором.

У листі не файл, а посилання на прайс

Що зробити. Складіть умову відбору листів, як для звичайного прайсу, і заповніть поле «Регулярний вираз для отримання посилання на прайс із листа».

Що вийде. Програма застосує вираз до тексту знайденого листа, візьме звідти адресу й скачає файл, як для джерела за посиланням.

Чого не буде. Без умови відбору або без обраної скриньки програма у скриньку не заходить, і вираз нічого не знайде.

Що робити, коли прайс із пошти не приходить

Розбір частих проблем
Що ви бачитеЧому такЩо зробити
«Не вдалося підключитися до поштової скриньки…» або «Поштова скринька … відповіла помилкою під час пошуку листа…» Скринька не пустила програму або сервер дав збій на пошуку листа; файл із минулого листа в роботу не йде Перевірте логін, пароль і сервер скриньки; збій пошуку зазвичай тимчасовий (про скриньку)
«Не вказано параметри доступу до поштового сервера (IMAP) для отримання прайс-листів з ел. пошти.» У обраної скриньки не заповнене щось із доступу : адреса сервера, порт, імʼя користувача або пароль Натисніть «Налаштувати» біля списку скриньок і дозаповніть (про скриньку)
«За заданим фільтром немає листів! Обробляємо попередній файл.» Умова відбору не знайшла жодного листа Послабте умову: збільште «Кількість днів», замініть точний збіг теми на «містить» (про умову)
«Не отримано файл із прайс-листом для завантаження даних. (‹маска›)» Лист знайшовся, але вкладення не підійшли під маску «Імʼя файлу» Приберіть умову за іменем файла або замініть «дорівнює» на «містить» (про умову)
«IMAP Помилка: ‹текст›» після кнопки «Підключити» Поштовий сервер не пустив програму у скриньку Для Gmail, Outlook, iCloud, Yahoo, Zoho, Ukr.net, Fastmail і AOL потрібен (про скриньку)
«Вкажіть адресу пошти та пароль.» У майстрі скриньки не заповнено адресу або пароль Заповніть обидва поля на кроці «Дані» (про скриньку)
«Вкажіть IMAP-сервер (або оберіть провайдера).» Обрано «Інший», а сервер не вписаний Впишіть сервер вручну або поверніться й оберіть провайдера плиткою (про скриньку)

Часті запитання

Скільки листів програма забирає за один прогін?

Рівно один — останній із тих, що підійшли під умову відбору. Якщо постачальник надіслав за день два прайси, обробиться пізніший. Налаштуванням це не змінюється.

Скриньку підключив, а листи не забираються. Що не так?

Найімовірніше, не задана умова відбору листів: без неї програма у скриньку не заходить і в журнал нічого не пише. Причину видно червоним рядком під конструктором умови — про умову.

Чому Gmail не приймає мій пароль?

Gmail, Outlook, iCloud, Yahoo, Zoho, Ukr.net, Fastmail і AOL вимагають пароль застосунку для сторонніх програм, а не звичайний пароль від акаунта. Майстер показує підказку й посилання на посібник сервісу — про скриньку.

Постачальник нічого не надіслав. Прогін зламається?

Ні. У журналі буде «За заданим фільтром немає листів! Обробляємо попередній файл.», і прогін піде далі на попередньому файлі. Помилкою це стане, коли новий прайс запізниться — як часто постачальник надсилає прайс.

Чи відбирає умова лише непрочитані листи?

Ні. Програма позначає взятий лист прочитаним, але умова прочитані й непрочитані не розрізняє. Без новішого листа наступний прогін знову візьме той самий.

Суміжні теми

Чи була стаття корисною?