Quando o relay é a porta certa
WordPress e WooCommerce com um plugin de SMTP, Ghost, Strapi, Supabase Auth, um ERP, um sistema antigo: qualquer coisa que peça host, porta, usuário e senha em vez de uma chamada HTTP.
O relay passa a mensagem pelo mesmo caminho de aceite do POST /emails: a mesma verificação de domínio, as mesmas checagens de supressão, os mesmos logs e eventos de entrega.
Os cinco valores
Host: smtp.mepmail.dev.
Porta: 2587, com STARTTLS. Se o formulário tiver uma lista de criptografia, escolha STARTTLS: a opção SSL espera TLS desde o primeiro byte, e esta porta não fala assim.
Usuário: mepmail, fixo para todas as equipes. Outro nome é recusado antes de a chave ser conferida.
Senha: uma chave criada em Chaves de API, a que começa com ms_, de preferência uma que só possa enviar.
Criptografia: STARTTLS antes do AUTH. Sem um par de chaves TLS o relay não sobe, a menos que o operador libere autenticação sem criptografia em uma rede privada.
Host: smtp.mepmail.dev
Porta: 2587
Criptografia: STARTTLS
Usuário: mepmail
Senha: ms_... (uma chave de envio)Antes da primeira mensagem: o domínio
O endereço de From precisa estar em um domínio verificado para a equipe. Um domínio não verificado é recusado com 554 antes de qualquer coisa entrar na fila.
Uma chave restrita a um domínio só envia por esse domínio, também por SMTP.
O relay ainda não aceita anexos: uma mensagem com anexo é recusada com 554, o mesmo limite do POST /emails.
Cole os valores: WordPress, Ghost, n8n
- WordPress ou WooCommerce: instale um plugin de SMTP, escolha a opção de outro servidor SMTP, cole os cinco valores, marque STARTTLS como criptografia e envie um teste para o seu endereço.
- Ghost, Strapi e Supabase Auth: os mesmos valores nas configurações de e-mail, com um From no domínio verificado.
- n8n: o nó da comunidade do MepMail, n8n-nodes-mepmail, é o caminho principal para enviar; o relay existe para nós que só falam SMTP.
- Qualquer outro sistema: preencha a seção de SMTP, não a de API, e comece com uma mensagem de teste para você mesmo.
O que o relay confere, e os limites
- Um endereço de From, um Subject não vazio e pelo menos um destinatário To que também seja destinatário do envelope.
- Até 50 destinatários por mensagem e 10 conexões do mesmo IP ao mesmo tempo.
- Mensagem de até 40 MB; acima disso é recusada.
- Só quem está no envelope recebe a mensagem: To e Cc decidem quem aparece, e o resto vai em Bcc.
- Três tentativas de login erradas na mesma conexão e ela é fechada com 421.
Os códigos de erro que você vai ver
553: falta um endereço de From único, um Subject não vazio, ou um To que também esteja no envelope.
535: o usuário não é mepmail, ou a senha não é uma chave válida.
554: o domínio do From não está verificado para a equipe, o remetente é disfarçado ou a mensagem tem anexo.
550: a equipe está suspensa, todos os destinatários estão suprimidos, ou a chave é restrita a outro domínio.
452: mais de 50 destinatários, ou uma cota de envio esgotada, incluindo o backlog estacionado.
552: a mensagem passou do limite de tamanho.
Teste pelo terminal
A biblioteca padrão do Python basta para conferir a credencial e o domínio antes de mexer na aplicação. Troque a chave e os dois endereços:
import smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg["From"] = "you@yourdomain.com"
msg["To"] = "you@example.com"
msg["Subject"] = "Teste do relay"
msg.set_content("Funcionou.")
with smtplib.SMTP("smtp.mepmail.dev", 2587) as smtp:
smtp.starttls()
smtp.login("mepmail", "ms_...")
smtp.send_message(msg)