#Адрес электронной почты
Вопрос:
У меня есть приложение, запущенное на сервере WebLogic с 6 экземплярами. Многие запросы для приложения поступают по электронной почте. Мы уже настроили учетную запись электронной почты, которая будет использоваться всеми клиентами для отправки электронной почты. Но проблема в том, что почтовый ящик учетной записи электронной почты может быть открыт для чтения только одним подключением, в отличие от обычной базы данных. В настоящее время я могу развернуть службу чтения электронной почты только на одном экземпляре сервера, это эффективно создаст единую точку отказа и несбалансированную нагрузку. Каков наилучший способ чтения из одного и того же почтового ящика с нескольких серверов? Я подумываю о разработке чего-либо с использованием таблицы базы данных, своего рода аренды, тот, кто заблокировал таблицу, владеет арендой и может подключаться к почтовому серверу, но это довольно сложно правильно реализовать при любых обстоятельствах.
Комментарии:
1. На каком вашем почтовом сервере работает? Основан ли он на POP или IMAP?
2. Спасибо за ответ. Я думаю, что это POP.
3. Просто дважды проверил, это POP3
Ответ №1:
Я не уверен, почему вы говорите, что только один клиент может получить доступ к папке «Входящие», поскольку POP, безусловно, может обрабатывать несколько подключений к одному и тому же почтовому ящику, и это может быть настроено на почтовом сервере. Возможно, вам потребуется поговорить с администратором вашего почтового сервера.
Я не работал с Weblogic, чтобы дать вам конкретный ответ, но вы также должны иметь возможность написать службу, которая проверяет входящую почту и обрабатывает входящие письма в базе данных, как вы хотели. Как только информация будет в базе данных, вы можете использовать ее через несколько хостов. Это лучший подход, поскольку его можно настроить так, чтобы несколько клиентов не отвечали на одно и то же электронное письмо.
Комментарии:
1. Спасибо за ответ, я действительно плохо знаю POP. Если возможно несколько подключений к одному и тому же почтовому ящику, я предполагаю, что мой вопрос будет касаться поведения транзакции, которое гарантирует чтение одного и того же электронного письма только один раз. Предотвращает ли POP3 одновременное чтение одного и того же электронного письма несколькими клиентами?
2. Я думаю, что ограничение подключения выполняется на уровне сервера. Не очень разбираюсь в деталях. Я не думаю, что он способен выполнять блокировку на уровне электронной почты. Но использование одного клиента для чтения потока электронной почты и заполнения базы данных было бы более безопасным вариантом. Я знаю, что это возможно с помощью Sendmail в Linux, и видел некоторые из них в работе. Там должно быть много ресурсов.