Pular para o conteúdo

Gateway SMTP

O gateway SMTP aceita o envio de e-mail padrão e encaminha cada mensagem para a API de Mensagens v2 Notify como um e-mail transacional. Use-o quando uma ferramenta de e-mail existente — um MTA, um mailer de framework, um SDK — for mais fácil de conectar do que uma solicitação JSON para a API.

Como funciona

Anchor link to
qualquer cliente SMTP gateway smtp API de Mensagens v2
──────────────── ──────> ──────────────── ──────> ─────────────────
envio STARTTLS gRPC Notify
AUTH PLAIN + AUTH PLAIN Authorization: Token
  1. O cliente se conecta a smtp.pushwoosh.com na porta 587, atualiza a conexão para TLS com STARTTLS e, em seguida, se autentica com AUTH PLAIN.
  2. O gateway analisa a mensagem MIME e constrói uma solicitação Notify com platforms: ["EMAIL"] e message_type: TRANSACTIONAL.
  3. O token de API do AUTH PLAIN é encaminhado para a API de Mensagens como o cabeçalho Authorization. A validação do token, a correspondência da aplicação, a identidade de envio e o tratamento de bounces ocorrem no lado da API.
Configuração
Valor
Hostsmtp.pushwoosh.com
Porta587 (envio SMTP)
TLSSTARTTLS — obrigatório antes do AUTH
AutenticaçãoAUTH PLAIN

Autenticação

Anchor link to

AUTH PLAIN usa duas credenciais do Pushwoosh.

Campo AUTH
Valor Pushwoosh
usernameCódigo da aplicação, por exemplo XXXXX-XXXXX
passwordToken de API do servidor

A autenticação (AUTH) é rejeitada fora do TLS. O token nunca aparece na mensagem — ele é usado apenas para autorizar a chamada Notify upstream.

Como as mensagens são mapeadas para a Notify

Anchor link to
Campo MIME ou SMTP
Campo Notify
RCPT TOtarget.users.list — O Pushwoosh resolve esses endereços para assinantes
username do AUTHapplication
Cabeçalho Subject:email_payload.subject["default"] (decodificado RFC 2047)
Cabeçalho From:email_payload.fromname e email
Parte HTMLemail_payload.body (preferido quando ambas as partes estão presentes)
Parte de texto simplesemail_payload.body (usado quando o HTML está ausente)
MAIL FROMIgnorado — O Pushwoosh substitui sua própria identidade de envio e lida com os bounces

Toda mensagem é enviada com schedule.send_date: now.

Limite
Valor
Tamanho máximo da mensagem25 MiB
Máximo de destinatários por envelope (RCPT TO)50

Mapeamento de erros

Anchor link to

Os códigos de status gRPC retornados pela API de Mensagens são traduzidos para códigos de resposta SMTP padrão para que qualquer cliente SMTP exiba um erro significativo.

Status gRPC upstream
Resposta SMTP
Significado
Unauthenticated535 5.7.8Código da aplicação ou token de API inválido.
PermissionDenied550 5.7.1O token não tem permissão para esta aplicação.
InvalidArgument / FailedPrecondition / OutOfRange550 5.6.0Conteúdo MIME inválido (por exemplo, assunto ou corpo ausente).
NotFound550 5.1.1Aplicação ou destinatário não encontrado.
ResourceExhausted452 4.5.3Limite de taxa atingido — tente novamente mais tarde.
DeadlineExceeded / Unavailable451 4.4.1Erro transitório no upstream — tente novamente mais tarde.
qualquer outra falha451 4.5.0Erro interno transitório — tente novamente mais tarde.

Códigos na faixa 4xx são temporários e devem ser tentados novamente pelo cliente; códigos na faixa 5xx são permanentes e exigem uma correção no lado do cliente.

Exemplo: enviar com swaks

Anchor link to
Terminal window
swaks --server smtp.pushwoosh.com:587 \
--auth-user "XXXXX-XXXXX" \
--auth-password "YOUR_API_TOKEN" \
--tls \
--from from@example.com \
--to user@example.com \
--header "Subject: Hello from SMTP gateway" \
--body "Plain-text body"

O cabeçalho From: no corpo MIME é o que chega ao Pushwoosh — o envelope --from (MAIL FROM) é descartado.

  • O gateway é stateless e não armazena mensagens. Uma vez encaminhada, a entrega é de responsabilidade da API de Mensagens.
  • Bounces, reclamações e links de cancelamento de inscrição são tratados pelo Pushwoosh, da mesma forma que para qualquer outro e-mail transacional.
  • Para envio de campanhas (segmentos, agendamento, A/B), use a Notify diretamente — o gateway SMTP é apenas para envio.

Veja também

Anchor link to