Мастер-Тур(15):MailService — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Biryukov (обсуждение | вклад) |
Gavrilov (обсуждение | вклад) (→Установка службы MailService) |
||
(не показаны 4 промежуточные версии 2 участников) | |||
Строка 5: | Строка 5: | ||
* Скопировать папку ''MailService'' из дистрибутива на сервер приложений. | * Скопировать папку ''MailService'' из дистрибутива на сервер приложений. | ||
* Указать настройки ''MailServiceUrl'' – адреса сервиса отправки почтовых сообщений в '''Megateс.TourSearchOwin.exe.config''' службы [[Мастер-Тур(15):Установка#Установка службы поиска|'''TourSearchOwin''']] | * Указать настройки ''MailServiceUrl'' – адреса сервиса отправки почтовых сообщений в '''Megateс.TourSearchOwin.exe.config''' службы [[Мастер-Тур(15):Установка#Установка службы поиска|'''TourSearchOwin''']] | ||
− | * Включить ''MailServiceLogger'' – | + | * Включить ''MailServiceLogger'' – логгер функционала отправки почтовых сообщений в '''Megateс.TourSearchOwin.exe.config''' службы [[Мастер-Тур(15):Установка#Установка службы поиска|'''TourSearchOwin''']] |
* Перед установкой службы необходимо настроить конфигурационный файл ''appsettings.json''.<br> | * Перед установкой службы необходимо настроить конфигурационный файл ''appsettings.json''.<br> | ||
Строка 16: | Строка 16: | ||
|- style="background-color:#F2F2F2" | |- style="background-color:#F2F2F2" | ||
+ | ! width="2%" | № | ||
! width="50%" | Описание | ! width="50%" | Описание | ||
− | ! width=" | + | ! width="48%" | Настройка |
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | | + | | 1 |
+ | | Название службы. По умолчанию служба будет создана с названием MegatecMailService. | ||
| <syntaxhighlight lang="json" enclose="div"> | | <syntaxhighlight lang="json" enclose="div"> | ||
"ServiceName": "MegatecMailService" | "ServiceName": "MegatecMailService" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | | + | | 2 |
+ | | Путь к службе MailService. | ||
+ | По умолчанию служба отправки сообщений использует порт ''7705''. Рекомендуется использование порта по умолчанию. | ||
+ | <font style="color:red">''Внимание!''</font><br /> | ||
+ | При смене порта необходимо также изменить порт в установочном скрипте _Install.bat. | ||
| <syntaxhighlight lang="json" enclose="div"> | | <syntaxhighlight lang="json" enclose="div"> | ||
"ServiceAddress": [ "http://localhost:7705" ] | "ServiceAddress": [ "http://localhost:7705" ] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
+ | | 3 | ||
| IP-адрес службы | | IP-адрес службы | ||
| <syntaxhighlight lang="json" enclose="div"> | | <syntaxhighlight lang="json" enclose="div"> | ||
Строка 40: | Строка 47: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
+ | | 4 | ||
| Разрешенные хосты | | Разрешенные хосты | ||
| <syntaxhighlight lang="json" enclose="div"> | | <syntaxhighlight lang="json" enclose="div"> | ||
Строка 78: | Строка 86: | ||
! width="49%" | Получатели сообщения | ! width="49%" | Получатели сообщения | ||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
| 1 | | 1 | ||
| Уведомление о новой агентской резервации | | Уведомление о новой агентской резервации | ||
− | | | + | | администратор системы, дополнительный email (настройка ''AddRcptTo''), email ведущего менеджера (если указана настройка "ManagerPriority": "filial") |
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
| 2 | | 2 | ||
| Уведомление о персональном бронировании | | Уведомление о персональном бронировании | ||
− | | | + | | администратор системы, дополнительный email (настройка ''AddRcptTo''), email ведущего менеджера (если указана настройка "ManagerPriority": "filial") |
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
| 3 | | 3 | ||
| Сообщения для менеджера | | Сообщения для менеджера | ||
− | | | + | | email ведущего менеджера (если указана настройка "ManagerPriority": "filial") |
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
| 4 | | 4 | ||
| Уведомление об ошибке | | Уведомление об ошибке | ||
− | | | + | | Почта для отправки ошибок и уведомлений ''AdminEmail'' |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
Строка 125: | Строка 121: | ||
|- style="background-color:#F2F2F2" | |- style="background-color:#F2F2F2" | ||
+ | ! width="2%" | № | ||
! width="50%" | Описание | ! width="50%" | Описание | ||
− | ! width=" | + | ! width="48%" | Настройка |
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | | + | | 1 |
+ | | Для отправки письма о бронировании покупателю, письмо отправляется на e-mail представителя, указанный в поле US_EMAIL из таблицы [DUP_USER] | ||
+ | *'''false''' – письма не отправляются | ||
+ | *'''true''' – письма отправляются | ||
| <syntaxhighlight lang="xml" enclose="div"> | | <syntaxhighlight lang="xml" enclose="div"> | ||
"SendAgencyReservation": true, | "SendAgencyReservation": true, | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | | + | | 2 |
+ | | Настройка, включающая отправку письма о новом бронировании частному лицу. При включенной настройке частнику отправляется письмо из шаблона templates/personal order report.xml. | ||
+ | *'''false''' – письма не отправляются | ||
+ | *'''true''' – письма отправляются | ||
| <syntaxhighlight lang="xml" enclose="div"> | | <syntaxhighlight lang="xml" enclose="div"> | ||
"SendPersonalEmail": true, | "SendPersonalEmail": true, | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | | + | | 3 |
+ | | Определение email почты ведущего менеджера по путевке. | ||
+ | *'''partner''' – ведущий менеджер по партнеру; | ||
+ | *'''filial''' – ведущий менеджер по филиалу (при включенной настройке useFilialChoice); | ||
+ | *'''tour''' или пустое значение или отсутствие настройки — ведущий менеджер по туру. | ||
| <syntaxhighlight lang="xml" enclose="div"> | | <syntaxhighlight lang="xml" enclose="div"> | ||
"ManagerPriority": "filial", | "ManagerPriority": "filial", | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | | + | | 4 |
− | | | + | | Настройка, определяющая необходимость отправки копии письма с примечанием по заявке на e-mail по стране |
− | + | *'''true''' – отправлять копию письма с сообщением по заявке на e-mail по стране | |
− | + | *'''false''' или отсутствие настройки – письмо с сообщением по заявке на e-mail по стране не отправляется | |
− | |||
− | |||
− | |||
− | |||
| <syntaxhighlight lang="xml" enclose="div"> | | <syntaxhighlight lang="xml" enclose="div"> | ||
"SendManagerMessagesToCountryEmail": false, | "SendManagerMessagesToCountryEmail": false, | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 185: | Строка 176: | ||
|- style="background-color:#F2F2F2" | |- style="background-color:#F2F2F2" | ||
+ | ! width="2%" | № | ||
! width="50%" | Описание | ! width="50%" | Описание | ||
− | ! width=" | + | ! width="48%" | Настройка |
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | Адрес, с которого отправляются письма | + | | 1 |
+ | | Адрес, с которого отправляются письма из системы бронирования, обязателен для заполнения | ||
| <syntaxhighlight lang="json" enclose="div"> | | <syntaxhighlight lang="json" enclose="div"> | ||
"MailFrom": "primer@Mail.com" | "MailFrom": "primer@Mail.com" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | | + | | 2 |
+ | | Адрес администратора системы, обязателен для заполнения | ||
| <syntaxhighlight lang="json" enclose="div"> | | <syntaxhighlight lang="json" enclose="div"> | ||
"RcptTo": "primer@Mail.com" | "RcptTo": "primer@Mail.com" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | | + | | 3 |
+ | | Дополнительный e-mail адрес, на которые приходят сообщения о новой регистрации и заявке на бронирование | ||
| <syntaxhighlight lang="json" enclose="div"> | | <syntaxhighlight lang="json" enclose="div"> | ||
"AddRcptTo": "primer@Mail.com" | "AddRcptTo": "primer@Mail.com" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | | + | | 5 |
− | + | | Почта для отправки отчетов об ошибках, возникающих при работе системы | |
− | |||
− | |||
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| <syntaxhighlight lang="json" enclose="div"> | | <syntaxhighlight lang="json" enclose="div"> | ||
"AdminEmail": "primer@Mail.com" | "AdminEmail": "primer@Mail.com" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | | + | | 7 |
+ | | Настройка, определяющая e-mail, на который будут оправляться копии писем о новом бронировании от частников | ||
| <syntaxhighlight lang="json" enclose="div"> | | <syntaxhighlight lang="json" enclose="div"> | ||
"AdditionalPersonalEmail": "primer@Mail.com" | "AdditionalPersonalEmail": "primer@Mail.com" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | SMTP | + | | 7 |
+ | | Почтовый сервер SMTP, обязателен для заполнения | ||
| <syntaxhighlight lang="json" enclose="div"> | | <syntaxhighlight lang="json" enclose="div"> | ||
"SmtpServer": "smtp.yandex.ru" | "SmtpServer": "smtp.yandex.ru" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | SMTP порт | + | | 8 |
+ | | SMTP порт почтового сервера (по умолчанию — 587), обязателен для заполнения | ||
| <syntaxhighlight lang="json" enclose="div"> | | <syntaxhighlight lang="json" enclose="div"> | ||
"SmtpPort": 587 | "SmtpPort": 587 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | Тип авторизации | + | | 9 |
+ | | Тип авторизации на сервере: None, Base64 или TLS/SSL, обязателен для заполнения | ||
| <syntaxhighlight lang="json" enclose="div"> | | <syntaxhighlight lang="json" enclose="div"> | ||
"Authentication": "TLS/SSL" | "Authentication": "TLS/SSL" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | Имя пользователя | + | | 10 |
+ | | Имя пользователя для подключения к почтовому серверу, обязателен для заполнения | ||
| <syntaxhighlight lang="json" enclose="div"> | | <syntaxhighlight lang="json" enclose="div"> | ||
"SmtpUser": "primer@Mail.com" | "SmtpUser": "primer@Mail.com" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | Пароль пользователя | + | | 11 |
+ | |Пароль пользователя почтового сервера, обязателен для заполнения | ||
| <syntaxhighlight lang="json" enclose="div"> | | <syntaxhighlight lang="json" enclose="div"> | ||
"SmtpPassword": "••••••••" | "SmtpPassword": "••••••••" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |- style="vertical-align:text- | + | |- style="vertical-align:text-middle" |
− | | | + | | 12 |
+ | | Активация протокола SSL (Нужно включить при использовании TLS/SSL авторизации.) | ||
| <syntaxhighlight lang="json" enclose="div"> | | <syntaxhighlight lang="json" enclose="div"> | ||
"EnableSSL": true | "EnableSSL": true | ||
Строка 302: | Строка 279: | ||
"SendAgencyReservation": true, | "SendAgencyReservation": true, | ||
"SendPersonalEmail": true, | "SendPersonalEmail": true, | ||
− | "ManagerPriority": "filial", | + | "ManagerPriority": "filial", |
− | |||
− | |||
− | |||
− | |||
"Accounts": [ | "Accounts": [ | ||
{ | { | ||
Строка 386: | Строка 359: | ||
[[Файл:Am 063.png|Внимание]] | [[Файл:Am 063.png|Внимание]] | ||
Для корректной работы сервиса необходимо убедиться, что доступ к конфигурационному файлу ограничен.<br /> | Для корректной работы сервиса необходимо убедиться, что доступ к конфигурационному файлу ограничен.<br /> | ||
+ | |||
* Установка осуществляется запуском скрипта ''_Install.bat'' от имени администратора. [[Файл:Bm135.png|Запуск от имени администратора]] | * Установка осуществляется запуском скрипта ''_Install.bat'' от имени администратора. [[Файл:Bm135.png|Запуск от имени администратора]] | ||
− | * При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта службы | + | * При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта службы MailService (например TCP 7705 и UDP 7705) |
* В Службах Windows добавляется служба ''MegatecMailService''.<br /> | * В Службах Windows добавляется служба ''MegatecMailService''.<br /> | ||
[[Файл:Ag 207.png|MegatecMailService]]<br /> | [[Файл:Ag 207.png|MegatecMailService]]<br /> | ||
* Для удаления службы кэширования необходимо запустить скрипт ''_UnInstall.bat'' от имени администратора. При этом будут удалены правила для входящих подключений. | * Для удаления службы кэширования необходимо запустить скрипт ''_UnInstall.bat'' от имени администратора. При этом будут удалены правила для входящих подключений. |
Текущая версия на 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. Рекомендуется использование порта по умолчанию.
Внимание! |
"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]
|
"SendAgencyReservation": true,
|
2 | Настройка, включающая отправку письма о новом бронировании частному лицу. При включенной настройке частнику отправляется письмо из шаблона templates/personal order report.xml.
|
"SendPersonalEmail": true,
|
3 | Определение email почты ведущего менеджера по путевке.
|
"ManagerPriority": "filial",
|
4 | Настройка, определяющая необходимость отправки копии письма с примечанием по заявке на 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.
- Для удаления службы кэширования необходимо запустить скрипт _UnInstall.bat от имени администратора. При этом будут удалены правила для входящих подключений.