- Table of contents
- 01 Описание электронной почты
- 02 Входящий почтовый шлюз (парсинг)
- 03 Исходящие уведомления
- 04 Настройки SMTP-соединения
- 05 Настройки уведомлений в EDI-Web
- 06 Какой адрес отправителя используется
- 07 Тестирование и поддержка
01 Описание электронной почты¶
- Электронная почта является одним из каналов передачи, используемых Docura для обмена деловыми документами с партнёрами. Задействованы два независимых механизма:
- Входящие — почтовый ящик на почтовом сервере Docura, куда партнёры отправляют документы для автоматического парсинга и доставки в Docura (раздел 02).
- Исходящие — уведомления, которые Docura отправляет партнёрам при получении или отправке документа, с самим документом в качестве вложения (раздел 03).
- Электронная почта удобна тем, что партнёру не требуется программное обеспечение EDI, учётная запись FTP и сертификаты — достаточно почтового ящика. Это делает электронную почту самым быстрым способом подключения контрагента, у которого нет EDI вообще.
- Слабыми сторонами электронной почты являются доставляемость (SPF, DKIM и DMARC домена отправителя, см. раздел 06) и тот факт, что почтовые клиенты составляют письма очень по-разному (см. раздел 02).
02 Входящий почтовый шлюз (парсинг)¶
- Для входящих документов Docura создает почтовый ящик на своем почтовом сервере, в домене @edi.docura.net. Почтовый ящик создается службой поддержки Docura в панели администратора почтового сервера — отправителю нужно знать только адрес.
- Именование согласовывается со службой поддержки Docura. Типичные шаблоны:
- companyname@edi.docura.net — стандартный случай, один шлюз на контрагента. Название компании пишется без пробелов, допустимы короткие читаемые сокращения (например, ep@ для Eesti Pagar).
- companyname.country@edi.docura.net — когда задействовано несколько стран или форматов, например fristar.lv@edi.docura.net
- companyname.doctype@edi.docura.net — когда типы документов обрабатываются отдельно, например wolt.ee.aperak@edi.docura.net
- Почтовый ящик отслеживается: Docura периодически собирает письма, извлекает содержимое, преобразует его в согласованный формат и доставляет документ в среду Docura клиента. Это также работает для контрагентов, которые вообще не хотят реального EDI-соединения — иногда это называется «слепым» EDI.
- Нет строгих правил относительно самого письма — отправитель не обязан отправлять один документ в одном письме:
- Письмо может содержать несколько документов или один архив (например, zip) со множеством файлов внутри — все подбирается и обрабатывается.
- Важно соответствие согласованному макету и формату документа, а не количество файлов в письме.
- Содержимое, которое может быть разобрано:
- Прайс-листы Excel — загружаются как PRODUCTCATALOG / PRICAT (макет согласовывается заранее)
- XML-документы — Docura XML или другой согласованный формат (INVOICE, ORDER, DESADV и другие)
- Другие форматы по согласованию — EDIFACT, CSV, Telema/Edisoft XML
- Два режима извлечения документа из письма (выбираются для каждого отношения совместно со службой поддержки Docura):
- Вложение — все вложения письма извлекаются по одному и каждое обрабатывается. Это обычный режим.
- Тело — все письмо преобразуется в XML и обрабатывается. Используется, когда данные находятся в тексте письма, а не в файле.
- Фильтры решают, что принимается, а что игнорируется. Они настраиваются Docura для каждого отношения:
- Фильтр отправителя (регулярное выражение) — принимать письма только с согласованной маски адреса.
- Фильтр темы (регулярное выражение) — принимать письма только с соответствующей темой.
- Фильтр имени файла (регулярное выражение, например
(?i)(.*)(.xls|.xlsx)) вместе с типом файлового фильтра (напримерError without notification). Это существует потому, что отправители часто добавляют логотипы, изображения и подписи, а каждое вложение обрабатывается — фильтр отсекает такие файлы.
- Таким образом, отправителю не требуется особая дисциплина: достаточно отправить на согласованный адрес, и лишний файл будет просто отфильтрован, а не вызовет ошибку парсинга.
- То, что не проходит фильтры, не теряется: если отношение настроено соответствующим образом, письмо пересылается без изменений на адрес ошибок, с перемещением исходных полей From и To в тему (иначе такое письмо попало бы в спам).
- Оригинальное письмо также может быть перенаправлено клиенту (
Copy email) — используется, когда письма в свободной форме должны быть просмотрены человеком. - Рабочий пример — Fristar_SIA: адрес fristar.lv@edi.docura.net принимает прайс-листы (Excel) и XML-счета, а страница описывает весь поток со стороны партнера.
- Шлюз не предназначен для массовых рассылок: скорость приема ограничена (около 150 писем в минуту). Выше этого письма попадают в журнал отклонений, а отправитель блокируется на 24 часа. Массовый обмен осуществляется через FTP или API.
03 Исходящие уведомления¶
- Исходящие письма — это уведомления о документах. Уведомление настраивается для каждого отношения: тип документа, статус документа, направление и партнер, поэтому у одной организации может быть несколько уведомлений с различными настройками.
- Получатели собираются из нескольких источников:
-
To— электронная почта получателя, взятая из самого документа (Document-Invoice/Document-Parties/Receiver/E-mail) - плюс любые адреса, явно указанные в уведомлении
- плюс, для некоторых партнеров, адреса, взятые из LOCCAT получателя — используется, когда один счет должен быть доставлен во многие магазины или пункты доставки
-
-
Reply-toберется из электронной почты отправителя в документе (Document-Invoice/Document-Parties/Sender/E-mail), чтобы ответ партнера дошел до нужного человека. - Тело письма формируется с помощью XSLT-шаблона (
Email xslt), и документ может быть прикреплен в виде файла. - По умолчанию все уведомления отправляются с домена Docura: docuway@docura.net.
04 Настройки SMTP-соединения¶
SMTP-соединение — это сохраненный набор учетных данных, который сообщает Docura, какой почтовый ящик и какой сервер использовать для отправки. Оно создается и поддерживается в веб-приложении Docura (вкладка Уведомления, окно Обновить SMTP-соединение):
| Поле | Значение |
|---|---|
Description |
Свободный комментарий, обычно имя почтового сервера |
serverName |
Хост SMTP-сервера почтового ящика отправителя |
serverPort |
SMTP-порт, обычно 25, 465 или 587 |
Username |
Логин почтового ящика, т.е. адрес, с которого фактически отправляется почта |
User password |
Пароль от этого почтового ящика |
Connection security |
Режим шифрования, обычно SSL_TLS |
- Кнопка
Test connectionпроверяет сохраненные учетные данные до переключения уведомления. - SMTP-соединение также может быть создано через API (операция
createSmtpConnection):organizationId,description,fromName,serverName,serverPort,userName,userPassword,connectionSecurity.
05 Настройки уведомлений в EDI-Web¶
Адреса отправителей не являются глобальными — они устанавливаются в самом уведомлении: Уведомления — Редактировать, вкладка Информация об уведомлении.
| Поле | Значение |
|---|---|
Email |
Адрес(а) получателя(ей) уведомления |
From name (name <email>) |
Адрес, С КОТОРОГО отправляется уведомление |
Reply to (name <email>) |
Адрес, на который пойдёт ответ партнёра |
Partner |
Организация-партнёр, к которой относится уведомление |
Smtp connection |
Какое SMTP-соединение (почтовый ящик) используется для отправки |
Email xslt |
XSLT-шаблон, который формирует тело письма |
Enabled |
Включено / выключено |
- На вкладке SMTP показывается соединение, которое используется данным уведомлением, на вкладке XSLT — шаблон.
- Получатели, которых нет в самом документе, могут быть добавлены дополнительно в уведомлении, см. раздел 03.
06 Какой адрес отправителя используется¶
- По умолчанию: домен Docura. От = docuway@docura.net, Ответить = адрес клиента. Доставляемость гарантирована, потому что домен Docura имеет корректные записи SPF, DKIM, DMARC и PTR. Это охватывает большинство случаев и является рекомендуемой настройкой.
-
От = собственный домен клиента. Два варианта:
- Через собственный почтовый сервер клиента — SMTP-сервер клиента, логин и пароль хранятся как SMTP-подключение. SPF и DKIM домена клиента проходят, потому что почта действительно отправляется их сервером. Это самый безопасный вариант для поля «От» клиента.
- Через почтовый сервер Docura, сохраняя адрес клиента в поле «От». Тогда DNS клиента должен быть подготовлен заранее, иначе такие письма попадают в спам или отклоняются:
TXT mail._domainkey "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq4dvMit/5L1okysL1nzm3d+qsl1XYeEg8sUzuBHSWRzX8UQ2Xai6cYukmBU7N4Brn69+1xc8DbdUwlP1mpiYhf2qTK7yaYjZTnfyyyumTCFhkHGDfJmga6p2JsOIUQ5dFhlE4gQBUI4FY3a3XZM2gbUVTr08dGkpEJA3yrsbJ5akl88tJsvX4Osw1EJl6i9dn" "1yzX+VxFlD6imjDDgYvyu2sxzWhU6dGtvg7KsP+8x0mXXp9gGFT/odo5zbLjmD0VT9KMWNwRUlBAsOT7bCJgauEXk9ygSnCazZ5UpmGgKfPuXIEXGTEUzRSblTNqKsUjGZtdiWxBo2FXPqnT+AIPwIDAQAB" TXT @ "v=spf1 ip4:78.46.44.41 ip4:78.46.44.49 ip4:178.63.30.140 a mx ~all" TXT _dmarc "v=DMARC1;p=none"
01 Через Docura, сохраняя адрес клиента в поле «От». DNS¶
DNS-записи для клиента «От» (SPF, DKIM, DMARC). Необходимы только для варианта 2.2 выше. Все три записи — это TXT-записи в том же домене, который используется в поле «От» — @@ означает корень этого домена, а не субдомен.
01 SPF¶
Разрешена только одна запись SPF на домен. Если у вас уже есть запись, не создавайте вторую — добавьте адреса Docura в существующую запись, сохранив все, что там уже есть.
TXT @ "v=spf1 ip4:78.46.44.41 ip4:78.46.44.49 ip4:178.63.30.140 a mx ~all"
~all — это мягкий режим: письма с других адресов помечаются как подозрительные, но доставляются. -all отклоняет их, поэтому при использовании -all каждый отправитель домена должен быть указан в списке.
02 DKIM¶
Новая запись, ничего не заменяет. mail — это селектор, поэтому другие службы, подписывающие почту для вашего домена, не затрагиваются.
TXT mail._domainkey "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq4dvMit/5L1okysL1nzm3d+qsl1XYeEg8sUzuBHSWRzX8UQ2Xai6cYukmBU7N4Brn69+1xc8DbdUwlP1mpiYhf2qTK7yaYjZTnfyyyumTCFhkHGDfJmga6p2JsOIUQ5dFhlE4gQBUI4FY3a3XZM2gbUVTr08dGkpEJA3yrsbJ5akl88tJsvX4Osw1EJl6i9dn" "1yzX+VxFlD6imjDDgYvyu2sxzWhU6dGtvg7KsP+8x0mXXp9gGFT/odo5zbLjmD0VT9KMWNwRUlBAsOT7bCJgauEXk9ygSnCazZ5UpmGgKfPuXIEXGTEUzRSblTNqKsUjGZtdiWxBo2FXPqnT+AIPwIDAQAB"
Две строки в кавычках, потому что одна строка TXT не может превышать 255 символов — DNS объединяет их при чтении.
03 DMARC¶
На домен разрешается только одна запись DMARC. Если она у вас уже есть, оставьте ее как есть. Приведенная ниже запись предназначена только для доменов, у которых ее нет.
TXT _dmarc "v=DMARC1;p=none"
04 PTR и HELO¶
Относятся к отправляющим серверам Docura, а не к вашему домену. Поддерживаются Docura, от вас не требуется никаких действий.
05 После добавления¶
Изменения DNS вступают в силу от нескольких минут до 24 часов в зависимости от TTL. Когда записи станут видны, запросите тестовое письмо у службы поддержки Docura, см. раздел 07. Пока оно не будет пройдено, продолжайте отправлять письма с домена Docura.
07 Тестирование и поддержка¶
- Попросите поддержку Docura отправить тестовое письмо на адрес клиента и проверить необработанные заголовки (
From,Reply-to, результат SPF/DKIM/DMARC). - Для входящего шлюза отправьте один заказ или счет (обычное письмо с любыми дополнительными файлами, которые добавляет ваш почтовый клиент) на адрес edi.docura.net и попросите поддержку подтвердить, что оно было правильно обработано.
- Пишите на support@docura.net или используйте чат в EDI-Web для решения любых вопросов, касающихся почтовых ящиков шлюза, фильтров, адресов отправителей и записей DNS.
Source version: 15 · Status: fresh · Roman Startsev