Guia rápido
Enviar o primeiro e-mail por SMTP
Obtenha as suas credenciais SMTP, escolha uma porta e envie um e-mail de teste por smtp.emailit.com com swaks, OpenSSL ou Python e depois conecte a sua aplicação ou o seu framework.
Este guia rápido mostra como enviar um e-mail de teste pelo SMTP relay do Emailit a partir do seu terminal e depois conectar a sua própria aplicação. Use SMTP quando o seu software já tiver configurações de SMTP. Para código novo, a API oferece mais recursos.
Antes de começar
- Um domínio de envio verificado. Se você ainda não tem um, siga a primeira seção do guia rápido da API ou Adicionar um domínio.
- Uma chave de API. Crie uma em Email APIAPI Keys com Add API key. A sua chave de API é a sua senha SMTP.
As suas credenciais SMTP
| Configuração | Valor |
|---|---|
| Host | smtp.emailit.com |
| Porta | 587 com STARTTLS (recomendada). Veja as alternativas na tabela abaixo. |
| Usuário | emailit |
| Senha | A sua chave de API, que começa com secret_ |
| Autenticação | PLAIN ou LOGIN |
| Endereço From | Qualquer endereço em um domínio de envio verificado, por exemplo, Acme <hello@acme.com> |
Você também encontra essas configurações no card SMTP Info ao abrir uma chave em Email APIAPI Keys.
| Porta | Criptografia | Quando usar |
|---|---|---|
587 |
STARTTLS | O padrão da maioria das aplicações e bibliotecas |
465 |
TLS desde o primeiro byte (TLS implícito) | Quando o seu cliente a chama de “SSL” ou “SMTPS” |
2525 |
STARTTLS | Quando a sua rede ou o seu provedor de hospedagem bloqueia a 587 |
2587 |
STARTTLS | Outra alternativa quando a 587 e a 2525 estão bloqueadas |
25 |
STARTTLS | Relay entre servidores. Muitos provedores de nuvem bloqueiam a porta 25 de saída. |
O relay oferece TLS em todas as portas, mas não o exige. Sempre ative o TLS no seu cliente para que a sua chave de API não seja enviada em texto simples.
Enviar um e-mail de teste
Escolha uma destas ferramentas. Substitua hello@acme.com por um endereço no seu domínio verificado e ada@example.com pelo endereço de e-mail com que você criou a conta.
swaks
O swaks é uma ferramenta de linha de comando para testar SMTP. Instale-o com brew install swaks ou apt install swaks e depois execute:
swaks --server smtp.emailit.com:587 --tls \
--auth-user emailit --auth-password "$EMAILIT_API_KEY" \
--from hello@acme.com --to ada@example.com \
--header "Subject: Hello from Emailit SMTP" \
--body "This is my first email sent through the Emailit SMTP relay."O swaks mostra a conversa SMTP inteira. A última resposta do servidor contém o ID do e-mail:
<~ 250 2.0.0 OK: queued as em_2pX7cN4kQ9vLm3RtB8yWd1ZsOpenSSL
O OpenSSL vem pré-instalado na maioria dos sistemas e permite que você digite os comandos SMTP. Primeiro, codifique as suas credenciais para o AUTH PLAIN:
printf '\0emailit\0%s' "$EMAILIT_API_KEY" | base64Depois, abra uma conexão e digite os comandos abaixo, colando a string codificada depois de AUTH PLAIN:
openssl s_client -connect smtp.emailit.com:587 -starttls smtp -crlf -quietEHLO localhost
AUTH PLAIN AGVtYWlsaXQAc2VjcmV0X...
MAIL FROM:<hello@acme.com>
RCPT TO:<ada@example.com>
DATA
From: Acme <hello@acme.com>
To: ada@example.com
Subject: Hello from Emailit SMTP
This is my first email sent through the Emailit SMTP relay.
.
QUITDepois do AUTH PLAIN, o servidor responde 235. Depois da linha com um único ., ele responde 250 2.0.0 OK: queued as em_….
Python
O smtplib nativo do Python não precisa de pacotes extras:
import os
import smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg["From"] = "Acme <hello@acme.com>"
msg["To"] = "ada@example.com"
msg["Subject"] = "Hello from Emailit SMTP"
msg.set_content("This is my first email sent through the Emailit SMTP relay.")
msg.add_alternative("<p>This is my first email sent through the Emailit SMTP relay.</p>", subtype="html")
with smtplib.SMTP("smtp.emailit.com", 587) as smtp:
smtp.starttls()
smtp.login("emailit", os.environ["EMAILIT_API_KEY"])
smtp.send_message(msg)
print("Accepted by Emailit")Se o script terminar sem exceção, o Emailit aceitou o e-mail.
Conferir no painel
Acesse Email APIEmails. O seu e-mail está no topo da aba Outgoing, e o status dele muda de accepted para delivered quando o servidor do destinatário o aceita. Cada sessão SMTP também aparece em Email APILogs com a origem SMTP, para que você veja também os logins com falha e as mensagens rejeitadas.
Respostas comuns
| Resposta | Causa | Solução |
|---|---|---|
535 Authentication failed |
Chave de API errada ou excluída | Use uma chave de API atual como senha. Consulte Erros 535. |
530 From/Sender domain is not verified for this workspace |
O endereço From não está em um domínio verificado | Verifique o domínio ou altere o endereço From. Consulte Erros 530. |
550 Unverified workspaces can only send to workspace members' account emails |
Modo sandbox | Envie para o e-mail da conta de um membro ou solicite o acesso de produção |
452 4.4.5 Messages per second limit exceeded |
Mais do que o seu limite por segundo | Diminua o ritmo e tente de novo. Os limites são compartilhados com a API. |
452 4.5.3 Daily message limit exceeded |
Você atingiu o limite de hoje | Espere até a meia-noite UTC ou solicite um aumento |
| Timeout de conexão | A sua rede bloqueia a porta | Tente 2525 ou 2587. Consulte Timeouts de conexão. |
Para ver todos os códigos de resposta, consulte Solução de problemas de SMTP.
Conectar a sua aplicação
Use as mesmas configurações na sua aplicação ou no seu framework. Estes guias mostram a configuração exata: