Procurando aconselhamento sobre configuração de entrega de e-mails para Discourse Multisite

Olá a todos,

Após algumas semanas de experimentação, estou muito feliz por ter implantado com sucesso uma configuração multissite dentro de um único contêiner (após muitas falhas). Esta tem sido uma conquista incrível para mim, pois estou trabalhando com recursos muito limitados (cerca de 1,34 GB de memória para dois sites é impressionante, o que é muito melhor do que executar dois contêineres separados).

Estou configurando comunidades para tentar fazer um pouco de bem neste mundo, mas infelizmente não posso arcar com serviços de hospedagem muito caros — mesmo $20/mês é uma despesa significativa para mim. Estou determinado a fazer isso funcionar com os recursos que tenho, e é por isso que estou buscando orientação.

No entanto, encontrei um pequeno obstáculo em relação à entrega de e-mails para cada subdomínio. Pelo que entendi, parece que o suporte nativo para endereços de e-mail distintos por site não está disponível em uma configuração multissite. Isso me parece estranho, especialmente porque o Discourse gerencia instâncias hospedadas como xyz.discourse.group e presumo que vocês não alocam 2 GB de memória por instância. Certamente, vocês estão utilizando uma abordagem multissite semelhante?

Minha pergunta é: como vocês lidam com a entrega de e-mails para cada subdomínio?

Por exemplo, se eu tiver os sites xyz1.domain.com e xyz2.domain.com, quero que os e-mails de saída apareçam como notification@xyz1.domain.com e notification@xyz2.domain.com, respectivamente, em vez de tudo ser enviado de um único endereço genérico. Tentei configurar o Postfix com verificações de cabeçalho (por exemplo, X-Originating-Domain), mas cheguei a um impasse, pois todos os e-mails se originam do mesmo endereço. Utilizar algo como o cabeçalho List-Id seria uma abordagem melhor? Entendo que este pode ser um tópico um pouco sensível, talvez informação proprietária, mas qualquer ajuda é apreciada.

Suspeito que posso estar pensando demais nisso e há uma solução mais simples que estou ignorando. Se vocês pudessem compartilhar como alcançam isso (ou me indicar a direção certa), ficaria incrivelmente grato.

Obrigado antecipadamente pelo seu tempo e por quaisquer insights que possam oferecer!

1 curtida

Isso está incorreto. Onde você conseguiu isso?
Você pode definir notification_email por instância.

2 curtidas

O suporte nativo para credenciais de e-mail distintas por site não está disponível.

2 curtidas

Olá novamente,

Peço desculpas pela confusão em minha postagem anterior — percebo que não descrevi o problema corretamente. Deixe-me esclarecer.

O desafio que estou enfrentando é com a entrega de e-mails em uma configuração multissite, onde a principal preocupação não são subdomínios, mas sim domínios principais completamente diferentes. Por exemplo, estou tentando configurar sites como xyz1.domain1.com e xyz2.domain2.com dentro do mesmo contêiner Discourse.

Entendo que o Discourse permite definir um único e-mail de notificação em app.yml, como:

DISCOURSE_SMTP_ADDRESS: smtp.domain1.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: noreply@domain1.com
DISCOURSE_SMTP_PASSWORD: password
DISCOURSE_SMTP_ENABLE_START_TLS: true

Isso funciona perfeitamente para a primeira instância (xyz1.domain1.com). No entanto, quando os e-mails são enviados da segunda instância (xyz2.domain2.com), provedores de e-mail como o Gmail os sinalizam como incompatíveis porque os cabeçalhos de e-mail não se alinham com o domínio xyz2.domain2.com. Essencialmente, não consigo definir configurações SMTP separadas para cada domínio em uma única configuração multissite.

Alguém já conseguiu lidar com esse cenário em que cada domínio principal em uma configuração multissite usa suas próprias credenciais SMTP distintas (por exemplo, configurações separadas de DISCOURSE_SMTP_* por site)? Existe uma solução alternativa, ou isso requer contêineres separados para cada domínio para evitar incompatibilidades?

Alternativamente, existem práticas recomendadas ou ferramentas (por exemplo, ajustes no Postfix, uso de cabeçalhos List-Id) que poderiam ajudar a resolver o problema de incompatibilidade sem a necessidade de contêineres separados para cada site?

Agradeceria muito qualquer insight ou sugestão. Obrigado novamente pelo seu tempo e apoio!

Embora isso pareça uma limitação do Discourse porque uma configuração multissite permite usar apenas uma única conta para envio, esta é, na verdade, uma limitação do seu provedor de e-mail, que permite usar apenas um único endereço de remetente em sua conta.
O fato de o SMTP_USER_NAME parecer um endereço de e-mail é porque eles optaram por impor que o cabeçalho From: dos e-mails que você envia seja o mesmo (ou: é reescrito para ser o mesmo) que o SMTP_USER_NAME.
Os cabeçalhos de e-mail estão sendo definidos pelo Discourse e, se você usar um provedor de e-mail que não os modifique e permita que você use vários endereços de remetente na mesma conta, tudo funcionará bem.

3 curtidas

Entendi, então basicamente preciso configurar o Postfix para criar verificações de cabeçalho personalizadas:

/^From:.+@example\.com/ REPLACE From: Seu Nome <seu_nome@example.com>

e é só isso? OBRIGADO!

Se você estiver usando sua própria instalação do Postfix, não vejo por que isso seria um problema.

2 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.