Мастер-Тур(15):MailService — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
(Установка службы MailService)
(Установка службы MailService)
 
Строка 90: Строка 90:
 
| 1
 
| 1
 
| Уведомление о новой агентской резервации
 
| Уведомление о новой агентской резервации
| Администратор системы
+
| администратор системы, дополнительный email (настройка ''AddRcptTo''), email ведущего менеджера (если указана настройка "ManagerPriority": "filial")
  
 
|- style="vertical-align:text-middle"
 
|- style="vertical-align:text-middle"
Строка 96: Строка 96:
 
| 2
 
| 2
 
| Уведомление о персональном бронировании
 
| Уведомление о персональном бронировании
| Администратор системы, e-mail филиала
+
| администратор системы, дополнительный email (настройка ''AddRcptTo''), email ведущего менеджера (если указана настройка "ManagerPriority": "filial")
  
 
|- style="vertical-align:text-middle"
 
|- style="vertical-align:text-middle"
Строка 102: Строка 102:
 
| 3
 
| 3
 
| Сообщения для менеджера
 
| Сообщения для менеджера
| Менеджер (филиал или страна в зависимости от настроек)
+
| email ведущего менеджера (если указана настройка "ManagerPriority": "filial")
  
 
|- style="vertical-align:text-middle"
 
|- style="vertical-align:text-middle"
Строка 108: Строка 108:
 
| 4
 
| 4
 
| Уведомление об ошибке
 
| Уведомление об ошибке
| Администратор системы
+
| Почта для отправки ошибок и уведомлений ''AdminEmail''
 
 
|- style="vertical-align:text-middle"
 
 
 
| 5
 
| Уведомление для подагентства
 
| Администратор системы (при активном параметре `SubAgency`)
 
 
 
|- style="vertical-align:text-middle"
 
 
 
| 6
 
| Дополнительные уведомления
 
| Указанные дополнительные адреса e-mail
 
  
 
|}
 
|}
Строка 140: Строка 128:
  
 
| 1
 
| 1
| Отправка бронирований через агентства
+
| Для отправки письма о бронировании покупателю, письмо отправляется на e-mail представителя, указанный в поле US_EMAIL из таблицы [DUP_USER]
 
*'''false''' – письма не отправляются
 
*'''false''' – письма не отправляются
 
*'''true''' – письма отправляются
 
*'''true''' – письма отправляются
Строка 150: Строка 138:
  
 
| 2
 
| 2
| Отправка сообщений на персональную почту
+
| Настройка, включающая отправку письма о новом бронировании частному лицу. При включенной настройке частнику отправляется письмо из шаблона templates/personal order report.xml.
 
*'''false''' – письма не отправляются
 
*'''false''' – письма не отправляются
 
*'''true''' – письма отправляются
 
*'''true''' – письма отправляются
Строка 160: Строка 148:
  
 
| 3
 
| 3
| Определение приоритета проставления ведущего менеджера по путевке.
+
| Определение email почты ведущего менеджера по путевке.
 
*'''partner''' – ведущий менеджер по партнеру;
 
*'''partner''' – ведущий менеджер по партнеру;
 
*'''filial''' – ведущий менеджер по филиалу (при включенной настройке useFilialChoice);
 
*'''filial''' – ведущий менеджер по филиалу (при включенной настройке useFilialChoice);
Строка 168: Строка 156:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
|- style="vertical-align:text-middle"
 
  
| 4
 
| Настройка, позволяющая частным лицам регистрироваться на сайте оператора и бронировать путевки в базу ПК «Мастер-Тур»
 
*'''true''' – частные лица могут регистрироваться и бронировать путевки в базу туроператора
 
*'''false''' или '''отсутствие настройки''' – возможность отключена
 
 
| <syntaxhighlight lang="xml" enclose="div">
 
"PersonalBooking": true,
 
</syntaxhighlight>
 
  
 
|- style="vertical-align:text-middle"
 
|- style="vertical-align:text-middle"
  
| 5
+
| 4
| Настройка, включающая возможность расширенного выбора офиса продаж при бронировании путевок. В списке офисов продаж отображаются партнеры отмеченные как фирма-владелец и филиал фирмы владельца.
 
*'''true''' – возможность выбора офиса продаж
 
*'''false''' или отсутствие настройки — отключить возможность выбора офиса продаж
 
| <syntaxhighlight lang="xml" enclose="div">
 
"AdvancedFilialChoise": false,
 
</syntaxhighlight>
 
 
 
|- style="vertical-align:text-middle"
 
 
 
| 6
 
 
| Настройка, определяющая необходимость отправки копии письма с примечанием по заявке на e-mail по стране
 
| Настройка, определяющая необходимость отправки копии письма с примечанием по заявке на e-mail по стране
 
*'''true''' – отправлять копию письма с сообщением по заявке на e-mail по стране
 
*'''true''' – отправлять копию письма с сообщением по заявке на e-mail по стране
Строка 197: Строка 166:
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
 
"SendManagerMessagesToCountryEmail": false,
 
"SendManagerMessagesToCountryEmail": false,
</syntaxhighlight>
 
 
|- style="vertical-align:text-middle"
 
 
| 7
 
| Включение использования субагентов
 
*'''true''' – использовать субагентов
 
*'''false''' – не использовать субагентов
 
| <syntaxhighlight lang="xml" enclose="div">
 
"SubAgency": false,
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Строка 243: Строка 202:
 
| <syntaxhighlight lang="json" enclose="div">
 
| <syntaxhighlight lang="json" enclose="div">
 
"AddRcptTo": "primer@Mail.com"
 
"AddRcptTo": "primer@Mail.com"
</syntaxhighlight>
 
 
|- style="vertical-align:text-middle"
 
 
| 4
 
| e-mail адреса для Visa
 
| <syntaxhighlight lang="json" enclose="div">
 
"Visa": "primer@Mail.com"
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Строка 256: Строка 207:
  
 
| 5
 
| 5
| e-mail адреса для Finance
+
| Почта для отправки отчетов об ошибках, возникающих при работе системы
 
| <syntaxhighlight lang="json" enclose="div">
 
| <syntaxhighlight lang="json" enclose="div">
"Finance": "primer@Mail.com"
+
"AdminEmail": "primer@Mail.com"
 
</syntaxhighlight>
 
</syntaxhighlight>
  
|- style="vertical-align:text-middle"
 
  
| 6
 
| электронная почта менеджера по путевке
 
| <syntaxhighlight lang="json" enclose="div">
 
"Manager": "primer@Mail.com"
 
</syntaxhighlight>
 
  
 
|- style="vertical-align:text-middle"
 
|- style="vertical-align:text-middle"
  
 
| 7
 
| 7
| Почта для отправки отчетов об ошибках, возникающих при работе системы
 
| <syntaxhighlight lang="json" enclose="div">
 
"AdminEmail": "primer@Mail.com"
 
</syntaxhighlight>
 
 
|- style="vertical-align:text-middle"
 
| 8
 
| Адрес, на который отправляется письмо при сохранении анкеты
 
| <syntaxhighlight lang="json" enclose="div">
 
"AnkEmail": "primer@Mail.com"
 
</syntaxhighlight>
 
 
|- style="vertical-align:text-middle"
 
 
| 9
 
 
| Настройка, определяющая e-mail, на который будут оправляться копии писем о новом бронировании от частников
 
| Настройка, определяющая e-mail, на который будут оправляться копии писем о новом бронировании от частников
 
| <syntaxhighlight lang="json" enclose="div">
 
| <syntaxhighlight lang="json" enclose="div">
Строка 294: Строка 224:
 
|- style="vertical-align:text-middle"
 
|- style="vertical-align:text-middle"
  
| 10
+
| 7
 
| Почтовый сервер SMTP, обязателен для заполнения
 
| Почтовый сервер SMTP, обязателен для заполнения
 
| <syntaxhighlight lang="json" enclose="div">
 
| <syntaxhighlight lang="json" enclose="div">
Строка 302: Строка 232:
 
|- style="vertical-align:text-middle"
 
|- style="vertical-align:text-middle"
  
| 11
+
| 8
 
| SMTP порт почтового сервера (по умолчанию — 587), обязателен для заполнения
 
| SMTP порт почтового сервера (по умолчанию — 587), обязателен для заполнения
 
| <syntaxhighlight lang="json" enclose="div">
 
| <syntaxhighlight lang="json" enclose="div">
Строка 310: Строка 240:
 
|- style="vertical-align:text-middle"
 
|- style="vertical-align:text-middle"
  
| 12
+
| 9
 
| Тип авторизации на сервере: None, Base64 или TLS/SSL, обязателен для заполнения
 
| Тип авторизации на сервере: None, Base64 или TLS/SSL, обязателен для заполнения
 
| <syntaxhighlight lang="json" enclose="div">
 
| <syntaxhighlight lang="json" enclose="div">
Строка 318: Строка 248:
 
|- style="vertical-align:text-middle"
 
|- style="vertical-align:text-middle"
  
| 13
+
| 10
 
| Имя пользователя для подключения к почтовому серверу, обязателен для заполнения
 
| Имя пользователя для подключения к почтовому серверу, обязателен для заполнения
 
| <syntaxhighlight lang="json" enclose="div">
 
| <syntaxhighlight lang="json" enclose="div">
Строка 326: Строка 256:
 
|- style="vertical-align:text-middle"
 
|- style="vertical-align:text-middle"
  
| 14
+
| 11
 
|Пароль пользователя почтового сервера, обязателен для заполнения
 
|Пароль пользователя почтового сервера, обязателен для заполнения
 
| <syntaxhighlight lang="json" enclose="div">
 
| <syntaxhighlight lang="json" enclose="div">
Строка 334: Строка 264:
 
|- style="vertical-align:text-middle"
 
|- style="vertical-align:text-middle"
  
| 15
+
| 12
 
| Активация протокола SSL (Нужно включить при использовании TLS/SSL авторизации.)
 
| Активация протокола SSL (Нужно включить при использовании TLS/SSL авторизации.)
 
| <syntaxhighlight lang="json" enclose="div">
 
| <syntaxhighlight lang="json" enclose="div">
Строка 349: Строка 279:
 
     "SendAgencyReservation": true,
 
     "SendAgencyReservation": true,
 
     "SendPersonalEmail": true,
 
     "SendPersonalEmail": true,
     "ManagerPriority": "filial",
+
     "ManagerPriority": "filial",  
    "PersonalBooking": true,
 
    "AdvancedFilialChoise": false,
 
    "SendManagerMessagesToCountryEmail": false,
 
    "SubAgency": false,
 
 
     "Accounts": [
 
     "Accounts": [
 
{
 
{

Текущая версия на 21:10, 22 апреля 2025

Введение

MailService – это сервис для отправки email-уведомлений и сообщений, которые требуется формировать в процессе бронирования туров. Сервис обеспечивает интеграцию с внешними почтовыми системами, логирование операций и управление настройками для различных типов сообщений.

Установка службы MailService

  • Скопировать папку MailService из дистрибутива на сервер приложений.
  • Указать настройки MailServiceUrl – адреса сервиса отправки почтовых сообщений в Megateс.TourSearchOwin.exe.config службы TourSearchOwin
  • Включить MailServiceLogger – логгер функционала отправки почтовых сообщений в Megateс.TourSearchOwin.exe.config службы TourSearchOwin
  • Перед установкой службы необходимо настроить конфигурационный файл appsettings.json.
Настройка службы MailService

В разделе Install конфигурационного файла задаются параметры установки и адреса службы MailService.

Описание Настройка
1 Название службы. По умолчанию служба будет создана с названием MegatecMailService.
 
"ServiceName": "MegatecMailService"
2 Путь к службе MailService.

По умолчанию служба отправки сообщений использует порт 7705. Рекомендуется использование порта по умолчанию. Внимание!
При смене порта необходимо также изменить порт в установочном скрипте _Install.bat.

 
"ServiceAddress": [ "http://localhost:7705" ]
3 IP-адрес службы
 
"IPAddress": "IPAddress.IPv6Any"
4 Разрешенные хосты
 "AllowedHosts": "*"

Пример конфигурации для установки службы

{
  "Install": {
    "ServiceName": "MegatecMailService",
    "ServiceAddress": [ "http://localhost:7705" ],
    "IPAddress": "IPAddress.IPv6Any"
  },
  "AllowedHosts": "*"
}

Внимание Убедитесь, что адреса и IP-адреса службы настроены правильно, а доступ к службе ограничен только необходимыми хостами для обеспечения безопасности.


Настройка отправки e-mail сообщений через MailService

Из системы бронирования через MailService отправляются следующие сообщения:

Сообщение Получатели сообщения
1 Уведомление о новой агентской резервации администратор системы, дополнительный email (настройка AddRcptTo), email ведущего менеджера (если указана настройка "ManagerPriority": "filial")
2 Уведомление о персональном бронировании администратор системы, дополнительный email (настройка AddRcptTo), email ведущего менеджера (если указана настройка "ManagerPriority": "filial")
3 Сообщения для менеджера email ведущего менеджера (если указана настройка "ManagerPriority": "filial")
4 Уведомление об ошибке Почта для отправки ошибок и уведомлений AdminEmail



Основные параметры конфигурации для MailService
Описание Настройка
1 Для отправки письма о бронировании покупателю, письмо отправляется на e-mail представителя, указанный в поле US_EMAIL из таблицы [DUP_USER]
  • false – письма не отправляются
  • true – письма отправляются
"SendAgencyReservation": true,
2 Настройка, включающая отправку письма о новом бронировании частному лицу. При включенной настройке частнику отправляется письмо из шаблона templates/personal order report.xml.
  • false – письма не отправляются
  • true – письма отправляются
"SendPersonalEmail": true,
3 Определение email почты ведущего менеджера по путевке.
  • partner – ведущий менеджер по партнеру;
  • filial – ведущий менеджер по филиалу (при включенной настройке useFilialChoice);
  • tour или пустое значение или отсутствие настройки — ведущий менеджер по туру.
"ManagerPriority": "filial",


4 Настройка, определяющая необходимость отправки копии письма с примечанием по заявке на e-mail по стране
  • true – отправлять копию письма с сообщением по заявке на e-mail по стране
  • false или отсутствие настройки – письмо с сообщением по заявке на e-mail по стране не отправляется
"SendManagerMessagesToCountryEmail": false,

В таблице приведено описание почтовых настроек, которые должны быть заданы для работы MailService.

Описание Настройка
1 Адрес, с которого отправляются письма из системы бронирования, обязателен для заполнения
"MailFrom": "primer@Mail.com"
2 Адрес администратора системы, обязателен для заполнения
"RcptTo": "primer@Mail.com"
3 Дополнительный e-mail адрес, на которые приходят сообщения о новой регистрации и заявке на бронирование
"AddRcptTo": "primer@Mail.com"
5 Почта для отправки отчетов об ошибках, возникающих при работе системы
"AdminEmail": "primer@Mail.com"


7 Настройка, определяющая e-mail, на который будут оправляться копии писем о новом бронировании от частников
"AdditionalPersonalEmail": "primer@Mail.com"
7 Почтовый сервер SMTP, обязателен для заполнения
"SmtpServer": "smtp.yandex.ru"
8 SMTP порт почтового сервера (по умолчанию — 587), обязателен для заполнения
"SmtpPort": 587
9 Тип авторизации на сервере: None, Base64 или TLS/SSL, обязателен для заполнения
"Authentication": "TLS/SSL"
10 Имя пользователя для подключения к почтовому серверу, обязателен для заполнения
"SmtpUser": "primer@Mail.com"
11 Пароль пользователя почтового сервера, обязателен для заполнения
"SmtpPassword": "••••••••"
12 Активация протокола SSL (Нужно включить при использовании TLS/SSL авторизации.)
"EnableSSL": true


Пример почтовых настроек appsettings.json для использования почты Google Mail.

 
"Mail": {
    "SendAgencyReservation": true,
    "SendPersonalEmail": true,
    "ManagerPriority": "filial",    
    "Accounts": [
{
        "MailFrom": "primer@GoogleMail.com",
        "SmtpServer": "smtp.gmail.com",
        "SmtpPort": 25, //or 587
        "Authentication": "TLS/SSL",
        "SmtpUser": "GMailUser@GoogleMail.com",
        "SmtpPassword": "Pa$$w0rd",
        "DebugPurposeMail": "GMailDebugPurposeMail@GoogleMail.ru",
        "EnableSSL": true
      } 
], 
"Addressees": {
      "RcptTo": "primer@GMail.com",
      "AddRcptTo": "primer@GMail.com",
      "Visa": "primer@GMail.com",
      "Finance": "primer@GMail.com",
      "Manager": "primer@GMail.com",
      "AdminEmail": "primer@GMail.com",
      "AnkEmail": "primer@GMail.com",
      "AdditionalPersonalEmail": "primer@GMail.com"
    }
},

Внимание! Необходимо также настроить почтовый ящик Google Mail:

  • Осуществить вход в почтовый ящик Google Mail
  • Выбрать раздел "Мой аккаунт" в списке "Приложения Google"
  • Перейти в раздел "Безопасность и вход", включить опцию Ненадежные приложения разрешены

Пример почтовых настроек appsettings.json для использования почты Yandex, если почта со своим доменным именем на yandex. MailFrom и smtpUser должны совпадать, smtpPort="587".

 
{
        "MailFrom": "primer@yandex.ru",
        "SmtpServer": "smtp.yandex.ru",
        "SmtpPort": 587, //or 587
        "Authentication": "TLS/SSL",
        "SmtpUser": "primer@yandex.ru",
        "SmtpPassword": "Pa$$w0rd",
        "DebugPurposeMail": "primerDebugPurposeMail@yandex.ru",
        "EnableSSL": true
      }


Пример почтовых настроек appsettings.json для использования почты Yandex, если почта на уandex без своего домена. В качестве smtpUser берется имя пользователя из mailFrom без @yandex.ru, smtpPort="587".

 
{
        "MailFrom": "primer@yandex.ru",
        "SmtpServer": "smtp.yandex.ru",
        "SmtpPort": 587, //or 587
        "Authentication": "TLS/SSL",
        "SmtpUser": "primer",
        "SmtpPassword": "Pa$$w0rd",
        "DebugPurposeMail": "primerDebugPurposeMail",
        "EnableSSL": true
      }


Пример почтовых настроек appsettings.json для использования почты Mail.ru.

 
{
        "MailFrom": "primer@mail.ru",
        "SmtpServer": "smtp.mail.ru",
        "SmtpPort": 587, //or 587
        "Authentication": "TLS/SSL",
        "SmtpUser": "primer@mail.ru",
        "SmtpPassword": "Pa$$w0rd",
        "DebugPurposeMail": "primerDebugPurposeMail@mail.ru",
        "EnableSSL": true
      }

Внимание Для корректной работы сервиса необходимо убедиться, что доступ к конфигурационному файлу ограничен.


  • Установка осуществляется запуском скрипта _Install.bat от имени администратора. Запуск от имени администратора
  • При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта службы MailService (например TCP 7705 и UDP 7705)
  • В Службах Windows добавляется служба MegatecMailService.

MegatecMailService

  • Для удаления службы кэширования необходимо запустить скрипт _UnInstall.bat от имени администратора. При этом будут удалены правила для входящих подключений.