AVISO — este tópico é muito específico para um caso de uso raro e provavelmente não é o que você deve fazer. Consulte os dois primeiros links abaixo para a configuração recomendada.
Pré-requisitos
Pesquisei no fórum por um artigo claro sobre como configurar um sistema de tickets usando o Discourse e encontrei alguns tópicos brilhantes:
- Configuring incoming email to create new topics or group messages
- Use Discourse as a Private Support/Ticket System
Perguntas
Infelizmente, não estou familiarizado o suficiente com alguns recursos de servidores de e-mail e não sei como configurar o suporte a reply+mailbox@server.com ou somerandomcode+mailbox@server.com. Como isso funciona mesmo, caramba? ![]()
Como posso usar múltiplos e-mails atribuídos a diferentes categorias? Como funciona se as configurações do fórum suportarem apenas um endereço de e-mail?
Sim, funciona perfeitamente. Com base naqueles dois tutoriais, entendi os princípios do recebimento de e-mails e das configurações adequadas do fórum. Como mencionado anteriormente, o principal é o recurso de encaminhamento do servidor de e-mail.
Servidor de e-mail básico totalmente funcional
Para quem deseja configurar um servidor de e-mail sem custo, recomendo o iRedMail
- Aqui há um artigo para configurar um servidor de e-mail baseado em ubuntu + postfix + iredmail em inglês
- Aqui o mesmo para centos em russo
Alias de e-mail
Após uma instalação padrão, você terá um servidor de e-mail pronto para conectar ao Discourse. Siga os passos 1 e 2 acima e, em seguida, os próximos passos sobre como usar alias de e-mail no iRedMail.
Por exemplo, você criou a caixa de correio master@server.com e duas categorias:
feature
feature -> internal [private]
Você precisa usar suas credenciais de caixa de correio nas configurações de polling POP.
Conecte-se ao shell do seu servidor, use o usuário postgres e conecte-se ao banco de dados (eu uso postgres):
ssh login@server.com
sudo su - postgres
psql
Em seguida, mude para o esquema vmail e crie dois alias:
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);
No próximo passo, crie os encaminhamentos:
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 OU CTRL+D para sair
Você pode verificar as duas tabelas, aliases e forwardings, no seu gerenciador de banco de dados favorito:


Preste atenção na chave active, ela deve ser 1.
Verificar configurações
Atribua alias de e-mail às categorias e envie um e-mail do endereço do seu usuário registrado. Se necessário, você pode permitir o envio de e-mails anônimos e a criação automática de usuários provisórios com as seguintes configurações:
- Aceitar e-mails de usuários anônimos sem contas (opcional, configuração de categoria)
- Habilitar usuários provisórios (se verdadeiro, verifique também
aprovar exceto usuários provisórios) - polling pop3 habilitado = true
- host de polling pop3 (seu FQDN)
- porta de polling pop3 (geralmente 995)
- usuário de polling pop3 (
master@server.com) - senha de polling pop3
- excluir do servidor após polling pop3 (opcional, eu deixo desabilitado para manter a mensagem original no meu cliente de e-mail)
- registrar falhas no processamento de e-mails (opcional, pois você pode monitorar todos os eventos na aba E-mails)
- email in = true
- confiança mínima para email in (uso 0 inicialmente após iniciar meu fórum, também verifique
limpar usuários inativos após dias) - prefixo de e-mail (opcional, se o título do seu site estiver em CAIXA ALTA, pode aumentar a pontuação de spam em respostas automáticas)
- habilitar e-mails encaminhados (opcional, ainda está em BETA na versão 2.4.0beta2, às vezes não consegue encontrar o corpo do e-mail)
Verificar e-mails recebidos
Envie e-mails para seus alias e verifique:
/admin/email/received
/admin/email/rejected
Agora, todos os e-mails enviados para master@server.com, feat@server.com ou staff@server.com serão colocados em uma única caixa de correio master@server.com. A diferença é que os e-mails enviados para feat@ serão processados pela categoria feature, e os e-mails enviados para staff@ serão processados pela categoria internal.
Certifique-se de que novos tópicos tenham aparecido! ![]()
Algumas observações
- Mesmo que você atribua o e-mail principal
master@a alguma categoria pública ou privada, todos os e-mails serão processados corretamente (sem duplicatas, sem revelar privacidade) - A configuração
título mínimo do tópiconão afeta o comprimento do assunto do e-mail.
