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

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

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

  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 протоколу, подробное описание см. на странице Редактирование записи участников почтового обмена.

Back to top