Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Obtenção de credenciais SMTP do Amazon SES

Modo de foco
Obtenção de credenciais SMTP do Amazon SES - Amazon Simple Email Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Você precisa das credenciais SMTP do Amazon SES para acessar a interface SMTP do SES.

As credenciais que você usa para enviar e-mails pela interface SMTP do SES são exclusivas para cada AWS região. Se usar a interface SMTP do SES para enviar e-mails em mais de uma região, você deve gerar um conjunto de credenciais SMTP para cada região que pretende usar.

Sua senha SMTP é diferente da sua chave de acesso AWS secreta. Para obter mais informações sobre credenciais, consulte Tipos de credenciais do Amazon SES.

nota

No momento, os endpoints SMTP não estão disponíveis na África (Cidade do Cabo), Ásia-Pacífico (Jacarta) Europa (Milão), Israel (Tel Aviv) e Oriente Médio (Bahrein).

Obter as credenciais SMTP do SES usando o console do SES

Requisito

Um usuário do IAM pode criar credenciais SMTP do SES, mas a política de usuário deve conceder a ele permissão para usar o IAM em si, pois as credenciais SMTP do SES são criadas com o uso do IAM. Sua política do IAM deve permitir que você execute as seguintes ações do IAM: iam:ListUsers, iam:CreateUser, iam:CreateAccessKey e iam:PutUserPolicy. Se você tentar criar credenciais SES SMTP usando o console e seu usuário do IAM não tiver essas permissões, você verá um erro informando que sua conta “não está autorizada a realizar iam: ListUsers”.

Importante

As ações do IAM mencionadas acima têm o nível de acesso de gerenciamento de permissões, que é o nível mais alto do IAM, pois dá permissão para conceder ou modificar permissões de recursos no serviço. Portanto, para melhorar a segurança da sua AWS conta, é altamente recomendável que você restrinja ou monitore regularmente essas políticas que incluem a classificação do nível de acesso ao gerenciamento de permissões.

Para criar suas credenciais SMTP
  1. Faça login no AWS Management Console e abra o console do Amazon SES em https://console.aws.amazon.com/ses/.

  2. Selecione SMTP settings (Configurações de SMTP) no painel de navegação à esquerda. Isso abrirá a página Simple Mail Transfer Protocol (SMTP) settings [Configurações de SMTP (Simple Mail Transfer Protocol)].

  3. Selecione Create SMTP Credentials (Criar credenciais de SMTP) no canto superior direito. Isso abrirá o console do IAM.

  4. (Opcional) Se você precisar visualizar, editar ou excluir usuários de SMTP que já criou, selecione Manage my existing SMTP credentials (Gerenciar minhas credenciais SMTP existentes) no canto inferior direito. Isso abrirá o console do IAM. Os detalhes do gerenciamento de credenciais de SMTP são fornecidos seguindo esses procedimentos.

  5. Para Criar usuário para SMTP, digite um nome para seu usuário SMTP no campo Nome de usuário. Como alternativa, você pode usar o valor padrão que é fornecido nesse campo. Ao terminar, escolha Criar usuário no canto inferior direito.

  6. Selecione Mostrar em Senha SMTP: as credenciais SMTP são mostradas na tela.

  7. Baixe essas credenciais escolhendo Baixar arquivo .csv ou copie e armazene-as em local seguro, porque você não poderá visualizar nem salvar as credenciais depois que fechar essa caixa de diálogo.

  8. Escolha Retornar ao console do SES.

É possível exibir uma lista de credenciais SMTP que você criou usando esse procedimento no console do IAM em Access management (Gerenciamento de acesso) e escolhendo Users (Usuários). Depois, use a barra de pesquisa para localizar todos os usuários aos quais você atribuiu credenciais SMTP.

Também é possível usar o console do IAM para excluir usuários SMTP existentes. Para saber mais sobre como excluir usuários, consulte Gerenciar usuários do IAM no Guia de conceitos básicos do IAM.

Se pretender alterar a senha SMTP, exclua o usuário SMTP existente no console do IAM. Depois, para gerar um novo conjunto de credenciais SMTP, realize os procedimentos anteriores.

Obtendo credenciais SES SMTP convertendo credenciais existentes AWS

Se você tiver um usuário configurado usando a interface do IAM, poderá derivar as credenciais SES SMTP do usuário a partir de suas credenciais. AWS

Importante

Não use AWS credenciais temporárias para derivar credenciais SMTP. A interface SMTP do SES não é compatível com credenciais SMTP que tenham sido geradas com base nas credenciais de segurança temporárias.

Para que o usuário do IAM possa enviar e-mails usando a interface SMTP do SES
  1. Derive as credenciais SMTP do usuário a partir de suas AWS credenciais usando o algoritmo fornecido nesta seção seguindo estes procedimentos.

    Como você está começando com AWS as credenciais, o nome de usuário SMTP é o mesmo que o ID da chave de AWS acesso, então você só precisa gerar a senha SMTP.

  2. Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  3. Em Gerenciamento de acesso, escolha Políticas e, em seguida, Criar política.

  4. No Editor de políticas, selecione JSON e remova qualquer código de exemplo no editor.

  5. Cole a seguinte política de permissões no editor:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ses:SendRawEmail", "Resource": "*" } ] }
  6. Selecione Avançar, insira AmazonSesSendingAccess no campo Nome da política e selecione Criar política.

  7. Em Gerenciamento de acesso, escolha Grupos de usuários e, em seguida, Criar grupo.

  8. Insira AWSSESSendingGroupDoNotRename no campo Nome do grupo de usuários.

  9. Adicione usuários SMTP ao grupo selecionando-os na tabela Adicionar usuários ao grupo.

  10. Anexe a política AmazonSesSendingAccess criada anteriormente selecionando-a na tabela Anexar políticas de permissões e selecionando Criar grupo de usuários.

Para obter mais informações sobre como usar o SES com o IAM, consulte Gerenciamento de identidade e acesso no Amazon SES.

nota

Embora você possa gerar credenciais SMTP do SES para qualquer usuário do IAM, recomendamos criar um usuário do IAM separado ao gerar suas credenciais SMTP. Para obter mais informações sobre por que é uma prática recomendada criar usuários para fins específicos, consulte Melhores práticas do IAM.

O pseudocódigo a seguir mostra o algoritmo que converte uma chave de acesso AWS secreta em uma senha SES SMTP.

// Modify this variable to include your AWS secret access key key = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"; // Modify this variable to refer to the AWS Region that you want to use to send email. region = "us-west-2"; // The values of the following variables should always stay the same. date = "11111111"; service = "ses"; terminal = "aws4_request"; message = "SendRawEmail"; version = 0x04; kDate = HmacSha256(date, "AWS4" + key); kRegion = HmacSha256(region, kDate); kService = HmacSha256(service, kRegion); kTerminal = HmacSha256(terminal, kService); kMessage = HmacSha256(message, kTerminal); signatureAndVersion = Concatenate(version, kMessage); smtpPassword = Base64(signatureAndVersion);

Algumas linguagens de programação incluem bibliotecas que você pode usar para converter uma chave de acesso secreta do IAM em uma senha SMTP. Esta seção inclui um exemplo de código que você pode usar para converter uma chave de acesso AWS secreta em uma senha SES SMTP usando Python.

nota

O exemplo a seguir usa f-strings que foram introduzidos no Python 3.6; se estiver usando uma versão mais antiga, elas não funcionarão.

Atualmente, o Python SDK (Boto3) suporta oficialmente as versões 2.7 e 3.6 (ou posterior). No entanto, o suporte da versão 2.7 está defasado e será descontinuado em 15/7/2021, portanto, você precisará atualizar pelo menos para a versão 3.6.

Python
#!/usr/bin/env python3 import hmac import hashlib import base64 import argparse SMTP_REGIONS = [ "us-east-2", # US East (Ohio) "us-east-1", # US East (N. Virginia) "us-west-2", # US West (Oregon) "ap-south-1", # Asia Pacific (Mumbai) "ap-northeast-2", # Asia Pacific (Seoul) "ap-southeast-1", # Asia Pacific (Singapore) "ap-southeast-2", # Asia Pacific (Sydney) "ap-northeast-1", # Asia Pacific (Tokyo) "ca-central-1", # Canada (Central) "eu-central-1", # Europe (Frankfurt) "eu-west-1", # Europe (Ireland) "eu-west-2", # Europe (London) "eu-south-1", # Europe (Milan) "eu-north-1", # Europe (Stockholm) "sa-east-1", # South America (Sao Paulo) "us-gov-west-1", # AWS GovCloud (US) "us-gov-east-1", # AWS GovCloud (US) ] # These values are required to calculate the signature. Do not change them. DATE = "11111111" SERVICE = "ses" MESSAGE = "SendRawEmail" TERMINAL = "aws4_request" VERSION = 0x04 def sign(key, msg): return hmac.new(key, msg.encode("utf-8"), hashlib.sha256).digest() def calculate_key(secret_access_key, region): if region not in SMTP_REGIONS: raise ValueError(f"The {region} Region doesn't have an SMTP endpoint.") signature = sign(("AWS4" + secret_access_key).encode("utf-8"), DATE) signature = sign(signature, region) signature = sign(signature, SERVICE) signature = sign(signature, TERMINAL) signature = sign(signature, MESSAGE) signature_and_version = bytes([VERSION]) + signature smtp_password = base64.b64encode(signature_and_version) return smtp_password.decode("utf-8") def main(): parser = argparse.ArgumentParser( description="Convert a Secret Access Key to an SMTP password." ) parser.add_argument("secret", help="The Secret Access Key to convert.") parser.add_argument( "region", help="The AWS Region where the SMTP password will be used.", choices=SMTP_REGIONS, ) args = parser.parse_args() print(calculate_key(args.secret, args.region)) if __name__ == "__main__": main()

Para obter sua senha SMTP usando esse script, salve o código anterior como smtp_credentials_generate.py. Depois, na linha de comando, execute o seguinte comando:

python path/to/smtp_credentials_generate.py wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY us-east-1

No comando anterior, faça o seguinte:

  • path/to/Substitua pelo caminho até o local onde você salvousmtp_credentials_generate.py.

  • Substitua wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY pela chave de acesso secreta que você deseja converter em uma senha SMTP.

  • us-east-1Substitua pela AWS região na qual você deseja usar as credenciais SMTP.

Quando esse script é executado com êxito, a única saída é sua senha SMTP.

#!/usr/bin/env python3 import hmac import hashlib import base64 import argparse SMTP_REGIONS = [ "us-east-2", # US East (Ohio) "us-east-1", # US East (N. Virginia) "us-west-2", # US West (Oregon) "ap-south-1", # Asia Pacific (Mumbai) "ap-northeast-2", # Asia Pacific (Seoul) "ap-southeast-1", # Asia Pacific (Singapore) "ap-southeast-2", # Asia Pacific (Sydney) "ap-northeast-1", # Asia Pacific (Tokyo) "ca-central-1", # Canada (Central) "eu-central-1", # Europe (Frankfurt) "eu-west-1", # Europe (Ireland) "eu-west-2", # Europe (London) "eu-south-1", # Europe (Milan) "eu-north-1", # Europe (Stockholm) "sa-east-1", # South America (Sao Paulo) "us-gov-west-1", # AWS GovCloud (US) "us-gov-east-1", # AWS GovCloud (US) ] # These values are required to calculate the signature. Do not change them. DATE = "11111111" SERVICE = "ses" MESSAGE = "SendRawEmail" TERMINAL = "aws4_request" VERSION = 0x04 def sign(key, msg): return hmac.new(key, msg.encode("utf-8"), hashlib.sha256).digest() def calculate_key(secret_access_key, region): if region not in SMTP_REGIONS: raise ValueError(f"The {region} Region doesn't have an SMTP endpoint.") signature = sign(("AWS4" + secret_access_key).encode("utf-8"), DATE) signature = sign(signature, region) signature = sign(signature, SERVICE) signature = sign(signature, TERMINAL) signature = sign(signature, MESSAGE) signature_and_version = bytes([VERSION]) + signature smtp_password = base64.b64encode(signature_and_version) return smtp_password.decode("utf-8") def main(): parser = argparse.ArgumentParser( description="Convert a Secret Access Key to an SMTP password." ) parser.add_argument("secret", help="The Secret Access Key to convert.") parser.add_argument( "region", help="The AWS Region where the SMTP password will be used.", choices=SMTP_REGIONS, ) args = parser.parse_args() print(calculate_key(args.secret, args.region)) if __name__ == "__main__": main()

Para obter sua senha SMTP usando esse script, salve o código anterior como smtp_credentials_generate.py. Depois, na linha de comando, execute o seguinte comando:

python path/to/smtp_credentials_generate.py wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY us-east-1

No comando anterior, faça o seguinte:

  • path/to/Substitua pelo caminho até o local onde você salvousmtp_credentials_generate.py.

  • Substitua wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY pela chave de acesso secreta que você deseja converter em uma senha SMTP.

  • us-east-1Substitua pela AWS região na qual você deseja usar as credenciais SMTP.

Quando esse script é executado com êxito, a única saída é sua senha SMTP.

Migração de um usuário SMTP de uma política em linha existente para uma política de grupo (recomendação de segurança)

Importante

Se você criou as credenciais SMTP do SES antes de 6 de setembro de 2024, uma política em linha e uma tag foram anexadas ao seu usuário SMTP. O SES está se afastando das políticas em linha e incentiva você a fazer o mesmo como recomendação de segurança.

Antes de migrar um usuário SMTP de uma política em linha existente para uma política de grupo, você deve primeiro criar um grupo de usuários do IAM com a política de permissões do SES para substituir a política em linha. Se você já criou esse grupo de usuários do IAM ou se ele foi criado automaticamente para as credenciais SMTP criadas a partir de 6 de setembro de 2024, poderá pular diretamente para a etapa 10 nos procedimentos a seguir.

Para migrar de uma política em linha existente para um grupo gerenciado
  1. Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. Em Gerenciamento de acesso, escolha Políticas e, em seguida, Criar política.

  3. No Editor de políticas, selecione JSON e remova qualquer código de exemplo no editor.

  4. Cole a seguinte política de permissões no editor:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ses:SendRawEmail", "Resource": "*" } ] }
  5. Selecione Avançar, insira AmazonSesSendingAccess no campo Nome da política e selecione Criar política.

  6. Em Gerenciamento de acesso, escolha Grupos de usuários e, em seguida, Criar grupo.

  7. Insira AWSSESSendingGroupDoNotRename no campo Nome do grupo de usuários.

  8. Adicione usuários SMTP ao grupo selecionando-os na tabela Adicionar usuários ao grupo.

  9. Anexe a política AmazonSesSendingAccess criada anteriormente selecionando-a na tabela Anexar políticas de permissões e selecionando Criar grupo de usuários.

    Agora que você criou o grupo de usuários do IAM com a política de permissões do SES, poderá migrar um usuário SMTP da política em linha atual para essa política de grupo, conforme explicado nas etapas restantes.

  10. Em Gerenciamento de acesso, escolha Usuários e selecione o usuário SMTP que você deseja migrar.

  11. Selecione a guia Grupos e escolha Adicionar usuário a grupos.

  12. Selecione o grupo AWSSESSendingGroupDoNotRename e, em seguida, Adicionar usuário aos grupos.

  13. Selecione a guia Permissões e confirme se há duas linhas listadas com AmazonSesSendingAccess na coluna Nome da política, uma com Em linha e outra com Grupo AWSSESSendingGroupDoNotRename listadas na coluna Anexado via.

  14. Selecione somente a linha que contém AmazonSesSendingAccess na coluna Nome da política e Em linha na coluna Anexado via, selecione Remover e confirme com Remover política.

    Verifique se a linha com Grupo AWSSESSendingGroupDoNotRename na coluna Anexado via permanece.

  15. Selecione a guia Tags e, em seguida, Gerenciar tags.

  16. Selecione Remover ao lado da linha que contém InvokedByas colunas Chave e SESConsoleValor, seguidas de Salvar alterações.

Importante

A política AmazonSesSendingAccess (como política em linha, de grupo ou ambas) deve permanecer anexada ao usuário SMTP para garantir que o envio não seja afetado. Remova a política em linha somente depois que a política de grupo for anexada ao seu usuário.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.