Problemas de SMTP do Amazon SES - Amazon Simple Email Service

Problemas de SMTP do Amazon SES

Esta seção contém soluções para diversos problemas comuns relacionados ao envio de e-mail usando a interface Simple Mail Transfer Protocol (SMTP) do Amazon SES. Ela também contém uma lista de códigos de resposta do SMTP retornados pelo Amazon SES.

Para saber mais sobre como enviar e-mails usando a interface SMTP do Amazon SES, consulte Uso da interface SMTP do Amazon SES para enviar e-mail.

  • Não é possível se conectar ao endpoint SMTP do Amazon SES.

    Os problemas para se conectar ao endpoint SMTP do Amazon SES em geral estão relacionados às seguintes questões:

    • Credenciais incorretas – As credenciais que você usa para se conectar ao endpoint SMTP são diferentes das credenciais da AWS. Para obter as credenciais SMTP, consulte Obtenção de credenciais SMTP do Amazon SES. Para obter mais informações sobre credenciais, consulte Tipos de credenciais do Amazon SES.

    • Problemas de rede ou firewall: sua rede pode estar bloqueando as conexões de saída pela porta pela qual você está tentando enviar e-mails. Para determinar se um problema em sua rede local está causando problemas de conexão, digite o seguinte comando na linha de comando, substituindo port pela porta que você está tentando usar (normalmente, 465, 587, 2465 ou 2587): telnet email-smtp.us-west-2.amazonaws.com port

      Se você conseguir se conectar ao servidor SMTP usando esse comando e estiver tentando se conectar ao Amazon SES usando TLS Wrapper ou STARTTLS, execute os procedimentos exibidos em Teste de sua conexão com a interface SMTP do Amazon SES usando a linha de comando.

      Se você não conseguir se conectar ao endpoint SMTP do Amazon SES usando telnet ou openssl, isso quer dizer que algo em sua rede (por exemplo, um firewall) está bloqueando as conexões de saída pela porta que você está tentando usar. Trabalhe com o administrador de sua rede para diagnosticar e corrigir o problema.

  • Você está enviando para o Amazon SES em uma instância do Amazon EC2 usando a porta 25 e está recebendo avisos de erros de tempo limite esgotado.

    O Amazon EC2 restringe a porta 25 por padrão. Para remover essas restrições, envie uma solicitação de remoção de limitações no envio de e-mail do Amazon EC2. Também é possível se conectar ao Amazon SES pela porta 465 ou 587 e nenhuma das duas é restrita.

  • Erros de rede estão provocando o descarte de e-mails.

    Procure fazer com que sua aplicação use a lógica de novas tentativas ao se conectar com o endpoint SMTP do Amazon SES e que possa detectar e fazer novas tentativas de entregar as mensagens em caso de erros na rede. SMTP é um protocolo detalhado. Por isso, enviar e-mails por meio dele requer várias round trips da rede. Em virtude da natureza do SMTP, a probabilidade de erros de rede é maior.

  • Você perde a conexão com o endpoint SMTP.

    As perdas de conexão são mais comumente provocadas pelos seguintes problemas:

    • Tamanho da MTU: se você receber uma mensagem de erro de tempo limite, o tamanho da unidade de transmissão máxima (MTU) da interface de rede do computador que você está usando para se conectar à interface SMTP do Amazon SES talvez seja muito grande. Para resolver esse problema, defina o tamanho da MTU no computador como 1.500 bytes.

      Para obter mais informações sobre como definir o tamanho da MTU nos sistemas operacionais Windows, Linux e macOS, consulte Consultas parecem permanecer no cliente e não chegar ao cluster no Guia de gerenciamento de cluster do Amazon Redshift.

      Para obter mais informações sobre a definção do tamanho da MTU para uma instância do Amazon EC2, consulte Unidade de transmissão máxima (MTU) de rede para sua instância do EC2 no Guia do usuário do Amazon EC2 para instâncias do Linux.

    • Conexões de longa duração: o endpoint SMTP do Amazon SES é executado em uma frota de instâncias do Amazon EC2 por trás de um balanceador de carga elástico (ELB). Para garantir que o sistema esteja atualizado e tolerante a falhas, as instâncias do Amazon EC2 ativas são periodicamente terminadas e substituídas por novas instâncias. Como a aplicação se conecta a uma instância do Amazon EC2 por meio do ELB, a conexão se torna inválida quando a instância do Amazon EC2 é terminada. Você deve estabelecer uma nova conexão SMTP depois de entregar um número fixo de mensagens por meio de uma única conexão SMTP, ou se a conexão SMTP permaneceu ativada por algum tempo. Você precisará tentar localizar os limites apropriados, dependendo de onde a aplicação está hospedada e de como ela envia e-mails para o Amazon SES.

  • Você deseja saber quais são os endereços IP dos servidores de e-mail SMTP do Amazon SES, para poder incluir na lista de permissões os endereços IP da sua rede.

    Os endereços IP dos endpoints SMTP do Amazon SES residem por trás dos balanceadores de carga. Como resultado, esses endereços IP mudam frequentemente. Não é possível fornecer uma lista definitiva de todos os endereços IP para os endpoints do Amazon SES. Recomentamos que você inclua o domínio amazonses.com na lista de permissões em vez de incluir endereços IP individuais na lista de permissões.

Códigos de resposta SMTP retornados pelo Amazon SES

Esta seção contém uma lista de códigos de resposta que são retornados pela interface SMTP do Amazon SES.

Você deve tentar novamente fazer as solicitações SMTP que recebem erros 400. Recomendamos que você implemente um sistema que tentará executar solicitações com tempos de espera progressivamente mais longas (por exemplo, aguarde 5 segundos antes de tentar novamente. Aguarde 10 segundos e, depois, aguarde 30 segundos). Se a terceira nova tentativa não for bem-sucedida, aguarde 20 minutos e, em seguida, repita o processo. Para ver um exemplo de uma implementação que usa uma política de novas tentativas exponenciais, consulte Como lidar com o erro “Throttling - Maximum sending rate exceeded” (Controle de utilização: taxa máxima de envio excedida) no blog AWS Messaging and Targeting (Sistema de mensagens e segmentação da AWS).

nota

Os AWS SDKs implementam a lógica de nova tentativa automaticamente, embora eles usem a interface HTTPS em vez de SMTP.

Se receber um erro 500, você precisará revisar a solicitação para corrigir um problema antes de enviar a solicitação novamente. Por exemplo, se as credenciais de autenticação da AWS forem inválidas, você deverá atualizar seu aplicativo para usar as credenciais corretas antes de enviar sua solicitação novamente.

Descrição Código de resposta Mais informações

Autenticação bem-sucedida

235 Authentication successful

Seu cliente SMTP se conectou com êxito e fez login no servidor SMTP.

Entrega bem-sucedida

250 Ok MessageID

ID da mensagem é uma sequência de caracteres exclusiva que o Amazon SES usa para identificar uma mensagem.

Serviço indisponível

421 Too many concurrent SMTP connections

O Amazon SES não pode processar a solicitação porque há atualmente muitas conexões com o servidor SMTP.

Erro de processamento local

451 Temporary service failure

O Amazon SES não pôde processar a solicitação. Pode haver problemas com a solicitação que impedem que ele seja processada.

Tempo limite

451 Timeout waiting for data from client

Muito tempo decorrido entre as solicitações, de modo que o servidor SMTP encerrou a conexão.

Cota de envio diário excedida

454 Throttling failure: Daily message quota exceeded

Você excedeu o número máximo de e-mails que o Amazon SES permite enviar em um período de 24 horas. Para mais informações, consulte Gerenciamento de limites do envio do Amazon SES.

Taxa máxima de envio excedida

454 Throttling failure: Maximum sending rate exceeded

Você excedeu o número máximo de e-mails que o Amazon SES permite enviar por segundo. Para mais informações, consulte Gerenciamento de limites do envio do Amazon SES.

Problema do Amazon SES ao validar credenciais SMTP

454 Temporary authentication failure

Questões que podem causar esse problema incluem (mas não estão limitadas a):

  • Há um problema com a criptografia entre a sua aplicação de envio de e-mails e o Amazon SES. Observe que é necessário usar uma conexão criptografada ao se conectar com o Amazon SES. Para mais informações, consulte Conexão com um endpoint SMTP do Amazon SES.

  • Pode estar ocorrendo um problema com o Amazon SES. Confira se existem atualizações no AWS Service Health Dashboard.

Problema ao receber a solicitação

454 Temporary service failure

O Amazon SES não recebeu a solicitação com êxito. Consequentemente, a mensagem não foi enviada.

Credenciais incorretas

530 Authentication required

A aplicação que você usa para enviar e-mails não tentou fazer a autenticação quando tentou se conectar à interface SMTP do Amazon SES.

Credenciais de autenticação inválidas

535 Authentication Credentials Invalid

A aplicação que você usa para enviar e-mails não forneceu as credenciais SMTP corretas para o Amazon SES. Observe que as credenciais SMTP não são as mesmas que as credenciais da AWS. Para mais informações, consulte Obtenção de credenciais SMTP do Amazon SES.

A conta não foi inscrita no Amazon SES

535 Account not subscribed to SES

A Conta da AWS que possui as credenciais SMTP não está registrada no Amazon SES.

A mensagem é muito longa

552 Message is too long.

A mensagem que você está tentando enviar tem mais de 10 MB de tamanho.

A conta não foi inscrita no Amazon SES

535 Account not subscribed to SES

A Conta da AWS que possui as credenciais SMTP não está registrada no Amazon SES.

Erro de sintaxe MAIL FROM

553 <email-address> Invalid email address

Há um erro de sintaxe na parte MAIL FROM da mensagem SMTP. Verifique se você está seguindo o formato correto e não se esqueça de colocar o endereço de e-mail entre “<>”.

Erro de sintaxe RCPT TO

553 <email-address> address unknown

Há um erro de sintaxe na parte RCPT TO da mensagem SMTP. Verifique se você está seguindo o formato correto e não se esqueça de colocar o endereço de e-mail entre “<>”.

O usuário não está autorizado a chamar o endpoint SMTP do Amazon SES

554 Access denied: User UserARN is not authorized to perform ses:SendRawEmail on resource IdentityARN

A política do AWS Identity and Access Management (IAM) ou a política de autorização de envio do Amazon SES do usuário que possui as credenciais SMTP não autoriza chamar o endpoint SMTP do Amazon SES.

Endereço de e-mail não verificado

554 Message rejected: Email address is not verified. The following identities failed the check in region region: identity0, identity1, identity2

Você está tentando enviar e-mails de um endereço de e-mail ou domínio que não está verificado para enviar e-mails de sua conta do Amazon SES. Esse erro pode se aplicar aos endereços "From" (De), "Source" (Origem), "Sender" (Remetente) ou "Return-Path" (Caminho de retorno). Se a sua conta ainda estiver na sandbox, você também terá que verificar o endereço de e-mail de cada destinatário (exceto os destinatários fornecidos pelo simulador de caixa postal do Amazon SES). Se o Amazon SES não conseguir mostrar todas as identidades que tiveram falha na verificação, a mensagem de erro terminará com três pontos (...).

nota

O Amazon SES tem endpoints em várias Regiões da AWS, e o status de verificação do endereço de e-mail é separado para cada Região da AWS. Você deve concluir o processo de verificação para cada remetente nas Regiões da AWS que deseja usar.