Перейти к содержанию

Способы отправки почты

Данный раздел предназначен для описания настройки способа отправки файла по указанному адресу. Настройка способа отправки состоит из следующего:

  1. Код – уникальный в пределах почтовой системы набор символов, идентифицирующий данный способ отправки.

  2. Наименование – наименование (описание) способа отправки.

  3. Алгоритм отправки почты – метод класса, который занимается, собственно, отправкой файла.

Правила написания метода отправки почты:

  • Метод класса.

  • Входные параметры:

    • Имя файла, который надо отправить.
    • Адрес (из настроек участника почты), по которому нужно отправить файл.
    • Ссылка на глобаль с письмом.
    • Ссылка на инверсию с адресами (кому надо отправить файл этим способом).
    • Передаваемый параметр – текст сообщения об ошибке.
  • Выход:

    • 1 – письмо отправлено.
    • 0 – при отправке была ошибка.

Существующие способы отправки (под файлом понимается созданный экспортом файл):

1. E-Mail – электронная почта

E-Mail – электронная почта, прикреплённый файл (метод User.MailSendType.SendForEMail).

Для этого способа адресом является составное значение:

<E-Mail адрес получателя>#<заголовок письма>#<имя почтового сервера Sender>

Отправляется письмо с прикреплённым файлом. Аналогичен способу с кодом SenderOffline, который предпочтителен для отправки писем с прикреплёнными файлами (см. пункт №3).

2. File – на носителе информации

File – на носителе информации (дискета …) (метод User.MailSendType.SendForFile).

Адресом является полный путь к файлу (для внутрисистемной почты в адресе нужно указать только полную директорию с последним символом «обратная косая черта» «\», а в поле Алгоритм получения адреса указать метод User.MailParticipant.SysMailFileName).

Данный способ копирует файл по указанному в адресе пути.

3. SenderOffline – по UUCP через Sender

SenderOffline – по UUCP через Sender (метод User.MailSendType.ForSender).

Адресом является составное значение:

<E-Mail адрес получателя>#<заголовок письма>#<имя почтового сервера Sender>#<Новое имя для приаттаченного файла>

При описании адреса необходимо помнить, что в нём не должно быть пробелов, и каждый элемент адреса в отдельности не должен содержать знак «решётка» «#». Также следует помнить, что заголовок письма используется для служебных целей – по нему в pack.bat-файле определяется, что нужно предварительно сделать с прикреплённым файлом, например, добавить в архив. Для внутрисистемной почты в качестве заголовка следует указывать Escape.

Новое имя можно не указывать и в то же время его можно определить динамически, явно указав его в @mail@("Client",получатель,"FileName")=новое имя. Если новое имя файла не указано, то автоматически создается новое имя в формате для внутрисистемной почты.

Данный способ копирует данные из «файла» в директорию C:\Sender\Post\MMDDNNNN\ (для отправки каждого из файлов создается своя директория C:\Sender\Post\MMDDNNNN, где MM – месяц, DD – день, NNNN – порядковый № директории за этот день), а затем дает команду Sender на отправку нового файла.

Внимание

При использовании этого способа отправки должна быть создана директория C:\Sender\Post

4. ForNotTlf – для не телефонизированных аптек

ForNotTlf – для не телефонизированных аптек (метод User.MailSendType.ForNotTlf).

В качестве адреса указывается устройство, куда будет заархивирован файл без указания имени файла (например, A:\ или C:\arj\). Собственно, имя файла подставляется автоматически в формате внутрисистемной почты.

Принцип работы: данные из файла копируются в файл C:\mail\temp\arj\имя_файла_в_формате_внутрисистемной_почты. Полученный файл перемещается с одновременным архивированием в директорию C:\mail\temp\Код_подразделения\имя_файла_в_формате_внутрисистемной_почты. Далее из вышеуказанной директории все файлы, которые там лежат, перемещаются на устройство, указанное в поле Адрес. (Устройство находится на клиенте!)

Если одно и то же письмо отправляется одновременно нескольким получателям – выдается запрос типа Подготовьте дискету для клиента …. Если один из файлов не вмещается на указанное устройство – выдается запрос типа Вставьте следующую дискету.

Внимание

Для использования этого способа должна быть создана директория C:\mail\temp и в директории C:\Sender должен находиться файл arj.exe

5. ForNotTlfPostPone – отложенная почта для не телефонизированных аптек

ForNotTlfPostPone – отложенная почта для не телефонизированных аптек (метод User.MailSendType.ForNotTlfPostPone).

Для этого способа все аналогично способу, описанному в пункте №4, за исключением того, что архивированные файлы не переносятся на устройство, а остаются лежать в директории C:\mail\temp\Код_подразделения\имя_файла_в_формате_внутрисистемной_почты.

6. SendForSupplier – электронная почта (E-Mail) файл в теле письма

SendForSupplier – электронная почта (E-Mail) файл в теле письма (метод User.MailSendType.SendForSupplier).

Для этого способа адресом является составное значение:

<E-Mail адрес получателя>#<заголовок письма>#<имя почтового сервера Sender>

Принцип работы: из письма определяется новое имя файла @mail@("Client",кому,"FileName"), файл копируется в директорию C:\Sender\Post\MMDDNNNN (для отправки каждого из файлов создается своя директория C:\Sender\Post\MMDDNNNN, где MM – месяц, DD – день, NNNN – порядковый № директории за этот день) и в первые строки этого нового файла вписывается адрес получателя, имя почтового сервера Sender и заголовок письма. Далее этот файл переносится в директорию C:\Sender\Ready\Out\

Внимание

Для использования этого способа отправки должны существовать директории C:\Sender\Post\ и C:\Sender\Ready\Out\. Следует помнить, что данные и заголовок в файле (а значит и в письме) будут в кодовой странице «Windows–1251».

7. TCPMail – почтовый обмен Cache-Cache по TCP

TCPMail – почтовый обмен Cache-Cache по TCP (метод User.MailSendType.SendForTCP).

Способ отличается улучшенной надёжностью (в том числе реализована «докачка при обрыве», а также полный внутренний контроль многофайловой передачи) и рекомендуется для использования вместо других способов (кроме файла на дискете), но имеет ограничения в применении:

  • Данный способ применим только для внутрисистемной почты (между внутренними контрагентами, то есть подразделениями одной организации).

  • Работа ведётся только с выходом в сеть интернет (нельзя использовать при прямом телефонном соединении «модем-модем» то есть без интернета).

  • Те абоненты, на которых работает Сервер почты Cache-Cache, должны иметь постоянный внешний IP-адрес или DNS-имя.

Примечание

Абоненты, на которых работает лишь Клиент почты Cache-Cache могут иметь любой выход в интернет.

Данный способ не использует вспомогательных (внешних по отношению к Cache) программ (не используется Sender или какой-либо ещё почтовый клиент).

В каждом подразделении, использующем этот способ, должна быть активной стандартная автозадача Сервер для почты Cache-Cache или Клиент для почты Cache-Cache (в некоторых случаях можно активировать сразу обе, см. Структурные ограничения почтового обмена, подпункт Ограничения для протокола TCPMail).

На вкладке Работа с пакетами в Журнале почтовых сообщений нужно указать директорию для выкладывания принятых файлов (должна соответствовать директории, указанной в настройках приёма внутрисистемной почты).

Для этого способа адресом является составное значение, различное для клиента и для сервера:

  • Для клиента: <внешний_IP_или_DNS_адрес_сервера_почты_Cache-Cache>#<TCP_порт_сервера_почты_Cache-Cache>(по умолчанию 6511)#<таймаут_ожидания_ответа_от_сервера>(по умолчанию 180 сек. – может пригодиться для подстройки при плохой связи)#<периодичность_проверки_почты_на_сервере_если_нечего_отправлять>(по умолчанию 600 сек). См. также примечание на странице Структурные ограничения почтового обмена для случая, когда в одном подразделении работает и сервер и клиент.

  • Для сервера: <TCP_порт>(по умолчанию 6511). Для контроля почтовых пакетов почты TCPMail в экранной форме Журнал почтовых сообщений имеется специальная вкладка Работа с пакетами.

8. FTPInner – По ФТП средствами базы

FTPInner – По ФТП средствами базы (метод User.MailSendType.FTPFromCache «Имя файла для экспорта системной почты»).

Способ отличается наивысшей надёжностью и рекомендуется для использования вместо других способов. Данный способ имеет некоторые особенности в применении:

  • Если в интерфейсе Участники почтового обмена указан Метод получения адреса, то конечный файл получает имя, которое присваивает этот метод.
  • Если указан какой-то из способов архивации, то расширение конечного архивного файла будет соответствовать выбранному архиву (.arj, .zip или .7z). Внутри архива будет находиться исходный файл со своим именем. Подробнее о выборе метода архивации см. на странице Редактирование записи участников почтового обмена.
  • В момент передачи файла на FTP-сервер его расширение будет изменено на .tmp, и только по окончании выгрузки файл на FTP-сервере будет переименован (расширение .tmp будет изменено на расширение конечного файла).

Данный способ не использует вспомогательных (внешних по отношению к Cache) программ (не используется Sender или какой-либо ещё почтовый клиент).

Для этого способа адресом является составное значение, вводимое во вспомогательном окне Настройки почты по FTP протоколу, подробное описание см. на странице Редактирование записи участников почтового обмена.