ВНИМАНИЕ — эта тема касается очень специфического редкого сценария использования, и, скорее всего, вам не стоит этого делать. Обратитесь к первым двум ссылкам ниже для получения рекомендаций по настройке.
Предварительные требования
Я искал на форуме четкую статью о том, как настроить систему тикетов с помощью Discourse, и нашел несколько отличных тем:
- Configuring incoming email to create new topics or group messages
- Use Discourse as a Private Support/Ticket System
Вопросы
К сожалению, я недостаточно знаком с некоторыми функциями почтового сервера и не знаю, как настроить поддержку reply+mailbox@server.com или somerandomcode+mailbox@server.com. Как это вообще работает, о боже? ![]()
Как можно использовать несколько email-адресов, назначенных разным категориям? Как это работает, если настройки форума поддерживают только один адрес электронной почты?
Да, всё работает отлично. На основе этих двух инструкций я понял принципы работы входящей почты и правильные настройки форума. Как упоминалось ранее, ключевую роль здесь играет функция пересылки на почтовом сервере.
Базовый полностью функциональный почтовый сервер
Для тех, кто хочет настроить бесплатный почтовый сервер, я рекомендую iRedMail.
- Здесь статья по настройке почтового сервера на базе Ubuntu + Postfix + iRedMail на английском языке.
- Здесь то же самое для CentOS на русском языке.
Почтовые алиасы
После стандартной установки у вас будет готовый к подключению к Discourse почтовый сервер. Выполните шаги 1 и 2 из предыдущих инструкций, а затем следуйте дальнейшим шагам по использованию почтовых алиасов в iRedMail.
Например, вы создали почтовый ящик master@server.com и две категории:
feature
feature -> internal [private]
В настройках опроса POP3 вам нужно будет использовать учетные данные вашего почтового ящика.
Подключитесь к оболочке вашего сервера, войдите под пользователем postgres и подключитесь к базе данных (я использую postgres):
ssh login@server.com
sudo su - postgres
psql
Затем переключитесь на схему vmail и создайте два алиаса:
postgres=# \c vmail
postgres=# INSERT INTO alias (address, domain, active)
VALUES ('feat@server.com', 'server.com', 1);
postgres=# INSERT INTO alias (address, domain, active)
VALUES ('staff@server.com', 'server.com', 1);
Следующий шаг — создание пересылок:
postgres=# INSERT INTO forwardings (address, forwarding,
domain, dest_domain,
is_list, active)
VALUES ('feat@server.com', 'master@server.com',
'server.com', 'server.com', 1, 1);
postgres=# INSERT INTO forwardings (address, forwarding,
domain, dest_domain,
is_list, active)
VALUES ('staff@server.com', 'master@server.com',
'server.com', 'server.com', 1, 1);
postgres=# \q ИЛИ CTRL+D для выхода
Вы можете проверить две таблицы, aliases и forwardings, в предпочитаемом вами менеджере БД:


Обратите внимание на поле active, оно должно быть равно 1.
Проверка настроек
Назначьте алиасы электронной почты категориям и отправьте письмо с адреса вашего зарегистрированного пользователя. При необходимости вы можете разрешить анонимную отправку писем и автоматическое создание временных пользователей с помощью следующих настроек:
- Принимать письма от анонимных пользователей без учетных записей (опционально, настройка категории)
- Включить временных пользователей (если
true, также отметьтеapprove unless staged) - pop3 polling enabled = true
- pop3 polling host (ваш FQDN хоста)
- pop3 polling port (обычно 995)
- pop3 polling username (
master@server.com) - pop3 polling password
- pop3 polling delete from server (опционально, я оставляю отключенным, чтобы оригинальное сообщение оставалось в моем почтовом клиенте)
- log mail processing failures (опционально, так как вы можете отслеживать все события на вкладке Emails)
- email in = true
- email in min trust (я использую 0 сразу после запуска форума, также проверьте
clean up inactive users after days) - email prefix (опционально, если название вашего сайта написано ЗАГЛАВНЫМИ БУКВАМИ, это может повысить спам-рейтинг автоответов)
- enable forwarded emails (опционально, в версии 2.4.0beta2 это все еще BETA, иногда не удается найти тело письма)
Проверка входящих писем
Отправьте письма на ваши алиасы и проверьте:
/admin/email/received
/admin/email/rejected
Теперь все письма, отправленные на master@server.com, feat@server.com ИЛИ staff@server.com, будут попадать в один почтовый ящик master@server.com. Разница заключается в том, что письма, отправленные на feat@, будут обрабатываться категорией feature, а письма, отправленные на staff@, — категорией internal.
Убедитесь, что появились новые темы! ![]()
Некоторые замечания
- Даже если вы назначите основной адрес
master@какой-либо публичной или приватной категории, все письма будут обработаны правильно (без дубликатов, без нарушения конфиденциальности). - Настройка
min topic title lengthне влияет на длину темы письма.
