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

In this small tutorial I will show you howto use mailjet as a free SMTP service for Discourse.

At the moment mailjet let you send 6000 mails per month or 200 per day for free and without sharing your credit card information.

Signup
You can sign up here Mailjet - Sign up (not a affiliate link)

Then validate your account by clicking the link in the email.

Create your domain
Go to your account settings: Mailjet

Press “Add a Sender Domain or Address”
Skærmbillede 2021-10-17 kl. 10.17.32

Then add your domain
(Please note that to validate a domain, you need to have access to your website hosting or your domain registration account.)

Adding a new domain

DNS verify your domain
Login to your DNS host.

Add a new DNS record based on the info from mailjet

Add the new TXT DNS record to you DNS service. In this case cloudflare.

End the validation by returning to your mailjet window. And press Check Now

You’ll see a window like this when you’re done
Skærmbillede 2021-10-17 kl. 10.29.05

Setup SPF Authentication
Under Mailjet “Sender & Domain” you find this option
Skærmbillede 2021-10-17 kl. 10.31.21

Make a new TXT DNS record with the recommended settings:

After this you should get a green setting window

Skærmbillede 2021-10-17 kl. 10.37.32

Set up DomainKeys/DKIM

Make a new TXT DNS record
Please make sure it stays on one line!

Setup Your Username and Password
First you need to generate your secret key, this will eventually be your SMTP Password. To do this go to API Key Management page.

On this page you see that your API Key (this will be your SMTP username) is created but partially redacted, but your Secret key needs to be generated:

Click the Generate Secret Key button. This will give you a new modal screen which contains your API Key and Secret Key. Copy these into a safe place as you’ll need them in the next step. If you lose your Secret Key you’ll need to regenerate it and setup Discourse SMTP again.

With that generated you can now visit the MailJet SMTP and SEND API Settings page to grab the rest of the settings you’ll need.

Installation of Discourse.
In the initial setup of discourse, use the following settings:

  • SMTP Server Address = MailJet SMTP server
  • SMTP Port = SMTP port it will be 25 or 587, note that some providers block port 25.
  • SMTP Username = MailJet API Key you copied.
  • SMTP Password = MailJet Secret key you copied.

Your setup will look similar to this:

Skærmbillede 2021-10-17 kl. 13.04.04

Then you should be done and ready to use the service. :partying_face: :partying_face: :partying_face:

8 curtidas

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.)

1 curtida

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

1 curtida

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

1 curtida

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

2 curtidas

@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.

1 curtida

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.

1 curtida

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.