Como usar Mailjet como um serviço SMTP gratuito para Discourse

Neste pequeno tutorial, vou mostrar como usar o Mailjet como um serviço SMTP gratuito para o Discourse.

No momento, o Mailjet permite enviar 6.000 e-mails por mês ou 200 por dia gratuitamente, sem necessidade de compartilhar suas informações de cartão de crédito.

Cadastro
Você pode se cadastrar aqui: Mailjet (não é um link de afiliado)

Em seguida, valide sua conta clicando no link recebido por e-mail.

Crie seu domínio
Acesse as configurações da sua conta: Mailjet

Clique em “Add a Sender Domain or Address” (Adicionar um domínio ou endereço de remetente)

Depois, adicione seu domínio.
(Por favor, observe que para validar um domínio, você precisa ter acesso à hospedagem do seu site ou à sua conta de registro de domínio.)

Adicionando um novo domínio

Verifique seu domínio via DNS
Faça login no seu provedor de DNS.

Adicione um novo registro DNS com base nas informações do Mailjet

Adicione o novo registro TXT ao seu serviço DNS. Neste caso, o Cloudflare.

Finalize a validação retornando à janela do Mailjet e clique em “Check Now” (Verificar agora)

Você verá uma janela como esta quando terminar

Configurar autenticação SPF
Em Mailjet, na seção “Sender & Domain” (Remetente e Domínio), você encontrará essa opção

Crie um novo registro TXT no DNS com as configurações recomendadas:

Após isso, você deverá ver uma janela de configuração verde

Configurar DomainKeys/DKIM

Crie um novo registro TXT no DNS
Certifique-se de que ele permaneça em uma única linha!

Configurar seu nome de usuário e senha
Primeiro, você precisa gerar sua chave secreta, que será eventualmente sua senha SMTP. Para isso, acesse a página Gerenciamento de Chaves de API.

Nesta página, você verá que sua Chave de API (que será seu nome de usuário SMTP) já foi criada, mas está parcialmente ofuscada. No entanto, sua Chave Secreta precisa ser gerada:

Clique no botão Generate Secret Key (Gerar Chave Secreta). Isso abrirá uma nova janela modal contendo sua Chave de API e Chave Secreta. Copie-as e guarde em um local seguro, pois você precisará delas na próxima etapa. Se perder sua Chave Secreta, será necessário geri-la novamente e reconfigurar o SMTP do Discourse.

Com isso gerado, agora você pode acessar a página Configurações de SMTP e SEND API do Mailjet para obter as demais configurações necessárias.

Instalação do Discourse.
Na configuração inicial do Discourse, utilize as seguintes configurações:

  • Endereço do Servidor SMTP = Servidor SMTP do Mailjet
  • Porta SMTP = Porta SMTP será 25 ou 587; observe que alguns provedores bloqueiam a porta 25.
  • Nome de usuário SMTP = Chave de API do Mailjet que você copiou.
  • Senha SMTP = Chave Secreta do Mailjet que você copiou.

Sua configuração ficará semelhante a esta:

Pronto! Agora você deve estar configurado e pronto para usar o serviço. :partying_face: :partying_face: :partying_face:

Configurei uma conta no MailJet e estou testando.

Quando um novo usuário registra uma conta no Discourse, ele recebe um e-mail de ativação de noreply@XXX.com. Isso funciona bem.

Mas se o usuário quiser me enviar um e-mail (admin) para admin@XXX.com, ele retorna com erro (bounce back).

554 5.7.1 admin@XXX.com: Relay access denied

Como posso corrigir isso?

Dependendo do que você está tentando fazer, isso provavelmente não é um problema do Discourse.

Se você está tentando usar o Mailjet como um servidor SMTP para seu e-mail individual, além das funções de e-mail em massa que o Discourse usa, ele realmente não oferece suporte a isso: Can I use Mailjet for my internal office email communications? Você precisaria configurar um serviço diferente para enviar e receber esse tipo de e-mail (Google Workspace, Zoho Mail, etc.)

@JammyDodger Não consigo atualizar isto, mas algumas das capturas de tela e etapas estão desatualizadas para esta.

Se você tiver interesse em atualizá-lo, posso transformá-lo em uma wiki e movê-lo para a seção de guias? (:fingers_crossed:)

Claro, ficarei feliz em analisar e atualizar o que puder, pode levar alguns dias.

@JammyDodger Atualizei a parte de configuração do Discourse. Ainda não confirmei as configurações de DKIM, etc., verei o que posso fazer com elas também.

Uma captura de tela para Namecheap

Observação:
O próprio nome de domínio não deve ser incluído no campo Host. Isso significa que, se você precisar adicionar o registro para algo._domainkey.seudominio.tld, apenas algo._domainkey deve ser adicionado como valor do Host (mesmo que seu provedor de serviços tenha solicitado que você adicione o próprio domínio também). Este é um requisito do sistema.

Obrigado! Como posso alterar os dados SMTP posteriormente? Este guia descreve como fazer isso durante a instalação inicial do Discourse.

Não especificamente sobre o MailJet, mas Change SMTP settings in a working forum - #5 by slackmoehrle tem os detalhes.