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á.
Teste de sua conexão com a interface SMTP do Amazon SES usando a linha de comando
Você pode usar os métodos descritos nesta seção a partir da linha de comando para testar sua conexão com o endpoint SMTP do Amazon SES, validar suas credenciais SMTP e solucionar problemas de conexão. Esses procedimentos usam ferramentas e bibliotecas que estão incluídas nos sistemas operacionais mais comuns.
Para obter informações adicionais sobre como solucionar problemas de conexão SMTP, consulte Problemas de SMTP do Amazon SES.
Pré-requisitos
Ao conectar-se à interface SMTP do Amazon SES, é necessário fornecer um conjunto de credenciais SMTP. Essas credenciais SMTP são diferentes das suas credenciais padrão AWS . Os dois tipos de credenciais não são intercambiáveis. Para obter mais informações sobre como obter as credenciais de SMTP, consulte Obtenção de credenciais SMTP do Amazon SES.
Como testar sua conexão com a interface SMTP do Amazon SES
É possível usar a linha de comando para testar sua conexão com a interface SMTP do Amazon SES sem autenticar e sem enviar nenhuma mensagem. Esse procedimento é útil para solucionar problemas básicos de conectividade. Se sua conexão de teste falhar, consulte Problemas de SMTP.
Esta seção inclui procedimentos para testar sua conexão usando o OpenSSL (que está incluído na maioria das distribuições Linux, macOS e Unix e também está disponível para Windows) e Test-NetConnection
o cmdlet PowerShell em (incluído nas versões mais recentes do Windows).
- Linux, macOS, or Unix
-
Há duas maneiras de se conectar à interface SMTP do Amazon SES com OpenSSL: usando SSL explícito na porta 587 ou usando SSL implícito na porta 465.
Como se conectar à interface SMTP usando SSL explícito
-
Na linha de comando, insira o seguinte comando para se conectar ao servidor SMTP do Amazon SES:
openssl s_client -crlf -quiet -starttls smtp -connect
email-smtp.us-west-2.amazonaws.com
:587No comando anterior,
email-smtp.us-west-2.amazonaws.com
substitua pela URL do endpoint SMTP do Amazon SES para sua região. AWS Para obter mais informações, consulte Regiões e o Amazon SES.Se a conexão for bem-sucedida, você verá um resultado semelhante a este:
depth=2 C = US, O = Amazon, CN = Amazon Root CA 1 verify return:1 depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon verify return:1 depth=0 CN = email-smtp.us-west-2.amazonaws.com verify return:1 250 Ok
A conexão se fecha automaticamente após cerca de 10 segundos de inatividade.
Como alternativa, é possível usar SSL implícito para se conectar à interface SMTP pela porta 465.
Como conectar-se à interface SMTP usando SSL implícito
-
Na linha de comando, insira o seguinte comando para se conectar ao servidor SMTP do Amazon SES:
openssl s_client -crlf -quiet -connect
email-smtp.us-west-2.amazonaws.com
:465No comando anterior,
email-smtp.us-west-2.amazonaws.com
substitua pela URL do endpoint SMTP do Amazon SES para sua região. AWS Para obter mais informações, consulte Regiões e o Amazon SES.Se a conexão for bem-sucedida, você verá um resultado semelhante a este:
depth=2 C = US, O = Amazon, CN = Amazon Root CA 1 verify return:1 depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon verify return:1 depth=0 CN = email-smtp.us-west-2.amazonaws.com verify return:1 220 email-smtp.amazonaws.com ESMTP SimpleEmailService-d-VCSHDP1YZ A1b2C3d4E5f6G7h8I9j0
A conexão se fecha automaticamente após cerca de 10 segundos de inatividade.
-
- PowerShell
-
Você pode usar o NetConnection cmdlet Test-
PowerShell para se conectar ao servidor SMTP do Amazon SES. nota
O cmdlet
Test-NetConnection
pode determinar se o computador pode se conectar ao endpoint SMTP do Amazon SES. No entanto, isso não testa se o computador pode estabelecer uma conexão SSL implícita ou explícita com o endpoint SMTP. Para testar uma conexão SSL, é possível instalar o OpenSSL para Windows para enviar um e-mail de teste.Como conectar-se à interface SMTP usando o cmdlet
Test-NetConnection
-
Em PowerShell, digite o seguinte comando para se conectar ao servidor SMTP do Amazon SES:
Test-NetConnection -Port
587
-ComputerNameemail-smtp.us-west-2.amazonaws.com
No comando anterior,
email-smtp.us-west-2.amazonaws.com
substitua pela URL do endpoint SMTP do Amazon SES da sua AWS região e587
substitua pelo número da porta. Para obter mais informações sobre endpoints regionais no Amazon SES, consulte Regiões e o Amazon SES.Se a conexão foi bem-sucedida, é exibida uma saída semelhante a este exemplo:
ComputerName : email-smtp.us-west-2.amazonaws.com RemoteAddress : 198.51.100.126 RemotePort : 587 InterfaceAlias : Ethernet SourceAddress : 203.0.113.46 TcpTestSucceeded : True
-
Uso da linha de comando para enviar e-mail usando a interface SMTP do Amazon SES
Também é possível usar a linha de comando para enviar mensagens usando a interface SMTP do Amazon SES. Esse procedimento é útil para testar credenciais SMTP e para testar a capacidade de destinatários específicos receberem mensagens enviadas usando o Amazon SES.
- Linux, macOS, or Unix
-
Quando um remetente de e-mail se conecta a um servidor SMTP, o cliente envia um conjunto padrão de solicitações e o servidor responde a cada solicitação com uma resposta padrão. Esta série de solicitações e respostas é chamada de conversa SMTP. Quando você se conecta ao servidor SMTP do Amazon SES usando o OpenSSL, o servidor espera que ocorra uma conversa SMTP.
Ao usar o OpenSSL para se conectar à interface SMTP, é necessário codificar suas credenciais SMTP usando a codificação em base64. Esta seção inclui procedimentos para a codificação das credenciais usando base64.
Para enviar um e-mail da linha de comando usando a interface SMTP
-
Digite o seguinte na linha de comando e
email-smtp.us-west-2.amazonaws.com
substitua pela URL do endpoint SMTP do Amazon SES para o seu. Região da AWS Para obter mais informações, consulteRegiões e o Amazon SES. :#!/bin/bash # Prompt user to provide following information read -p "Configuration set: " CONFIGSET read -p "Enter SMTP username: " SMTPUsername read -p "Enter SMTP password: " SMTPPassword read -p "Sender email address: " MAILFROM read -p "Receiver email address: " RCPT read -p "Email subject: " SUBJECT read -p "Message to send: " DATA echo # Encode SMTP username and password using base64 EncodedSMTPUsername=$(echo -n "$SMTPUsername" | openssl enc -base64) EncodedSMTPPassword=$(echo -n "$SMTPPassword" | openssl enc -base64) # Construct the email Email="EHLO example.com AUTH LOGIN $EncodedSMTPUsername $EncodedSMTPPassword MAIL FROM: $MAILFROM RCPT TO: $RCPT DATA X-SES-CONFIGURATION-SET: $CONFIGSET From: $MAILFROM To: $RCPT Subject: $SUBJECT $DATA . QUIT" echo "$Email" | openssl s_client -crlf -quiet -starttls smtp -connect
email-smtp.us-west-2.amazonaws.com
:587 -
No prompt de cada variável, insira seus valores.
-
-
Para enviar usando SSL implícito pela porta 465, use:
openssl s_client -crlf -quiet -connect
email-smtp.us-west-2.amazonaws.com
:465
Se a mensagem tiver sido aceita pelo Amazon SES, você verá uma saída semelhante ao seguinte exemplo:
250 Ok 01010160d7de98d8-21e57d9a-JZho-416c-bbe1-8ebaAexample-000000
A sequência de números e texto que se segue a
250 Ok
é o ID de mensagem do e-mail.nota
A conexão é fechada automaticamente após cerca de 10 segundos de inatividade.
-
-
- PowerShell
-
Você pode usar o Net.Mail. SmtpClient
classe para enviar e-mail usando SSL explícito pela porta 587. nota
A classe
Net.Mail.SmtpClient
está oficialmente obsoleta e a Microsoft recomenda o uso de bibliotecas de terceiros. Este código destina-se somente para fins de teste e não deve ser usado para cargas de trabalho de produção.Para enviar um e-mail PowerShell usando SSL explícito
-
Em um editor de texto, crie um novo arquivo. Cole o seguinte código no arquivo:
function SendEmail($Server, $Port, $Sender, $Recipient, $Subject, $Body) { $Credentials = [Net.NetworkCredential](Get-Credential) $SMTPClient = New-Object Net.Mail.SmtpClient($Server, $Port) $SMTPClient.EnableSsl = $true $SMTPClient.Credentials = New-Object System.Net.NetworkCredential($Credentials.Username, $Credentials.Password); try { Write-Output "Sending message..." $SMTPClient.Send($Sender, $Recipient, $Subject, $Body) Write-Output "Message successfully sent to $($Recipient)" } catch [System.Exception] { Write-Output "An error occurred:" Write-Error $_ } } function SendTestEmail(){ $Server = "
email-smtp.us-west-2.amazonaws.com
" $Port = 587 $Subject = "Test email sent from Amazon SES" $Body = "This message was sent from Amazon SES using PowerShell (explicit SSL, port 587)." $Sender = "sender@example.com
" $Recipient = "recipient@example.com
" SendEmail $Server $Port $Sender $Recipient $Subject $Body } SendTestEmailAo concluir, salve o arquivo como
SendEmail.ps1
. -
Faça as seguintes alterações no arquivo que você criou na etapa anterior:
-
sender@example.com
Substitua pelo endereço de e-mail do qual você deseja enviar a mensagem. -
recipient@example.com
Substitua pelo endereço de e-mail para o qual você deseja enviar a mensagem. -
email-smtp.us-west-2.amazonaws.com
Substitua pela URL do endpoint SMTP do Amazon SES para sua AWS região. Para obter mais informações, consulte Regiões e o Amazon SES.
-
-
Em PowerShell, digite o seguinte comando:
.\
path\to\SendEmail.ps1
No comando anterior,
path\to\SendEmail.ps1
substitua pelo caminho para o arquivo que você criou na etapa 1. -
Quando solicitado, insira o nome de usuário e senha do SMTP.
Como alternativa, você pode usar o System.Web.Mail. SmtpMail
classe para enviar e-mail usando SSL implícito pela porta 465. nota
A classe
System.Web.Mail.SmtpMail
está oficialmente obsoleta e a Microsoft recomenda o uso de bibliotecas de terceiros. Este código destina-se somente para fins de teste e não deve ser usado para cargas de trabalho de produção.Para enviar um e-mail PowerShell usando SSL implícito
-
Em um editor de texto, crie um novo arquivo. Cole o seguinte código no arquivo:
[System.Reflection.Assembly]::LoadWithPartialName("System.Web") > $null function SendEmail($Server, $Port, $Sender, $Recipient, $Subject, $Body) { $Credentials = [Net.NetworkCredential](Get-Credential) $mail = New-Object System.Web.Mail.MailMessage $mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", $Server) $mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", $Port) $mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", $true) $mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", $Credentials.UserName) $mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", $Credentials.Password) $mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout", $timeout / 1000) $mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing", 2) $mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", 1) $mail.From = $Sender $mail.To = $Recipient $mail.Subject = $Subject $mail.Body = $Body try { Write-Output "Sending message..." [System.Web.Mail.SmtpMail]::Send($mail) Write-Output "Message successfully sent to $($Recipient)" } catch [System.Exception] { Write-Output "An error occurred:" Write-Error $_ } } function SendTestEmail(){ $Server = "
email-smtp.us-west-2.amazonaws.com
" $Port = 465 $Subject = "Test email sent from Amazon SES" $Body = "This message was sent from Amazon SES using PowerShell (implicit SSL, port 465)." $Sender = "sender@example.com
" $Recipient = "recipient@example.com
" SendEmail $Server $Port $Sender $Recipient $Subject $Body } SendTestEmailAo concluir, salve o arquivo como
SendEmail.ps1
. -
Faça as seguintes alterações no arquivo que você criou na etapa anterior:
-
sender@example.com
Substitua pelo endereço de e-mail do qual você deseja enviar a mensagem. -
recipient@example.com
Substitua pelo endereço de e-mail para o qual você deseja enviar a mensagem. -
email-smtp.us-west-2.amazonaws.com
Substitua pela URL do endpoint SMTP do Amazon SES para sua AWS região. Para obter mais informações, consulte Regiões e o Amazon SES.
-
-
Em PowerShell, digite o seguinte comando:
.\
path\to\SendEmail.ps1
No comando anterior,
path\to\SendEmail.ps1
substitua pelo caminho para o arquivo que você criou na etapa 1. -
Quando solicitado, insira o nome de usuário e senha do SMTP.
-