Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Verifica della connessione all'SESSMTPinterfaccia Amazon utilizzando la riga di comando
Puoi utilizzare i metodi descritti in questa sezione dalla riga di comando per testare la tua connessione all'SESSMTPendpoint Amazon, convalidare SMTP le tue credenziali e risolvere i problemi di connessione. Queste procedure utilizzano strumenti e librerie inclusi nella maggior parte dei sistemi operativi più comuni.
Per ulteriori informazioni sulla risoluzione dei problemi SMTP di connessione, consulta. Problemi relativi a SMTP in Amazon SES
Prerequisiti
Quando ti connetti all'SESSMTPinterfaccia Amazon, devi fornire un set di SMTP credenziali. Queste SMTP credenziali sono diverse dalle tue credenziali standard AWS . I due tipi di credenziali non sono intercambiabili. Per ulteriori informazioni su come ottenere le SMTP credenziali, vedere. Ottenere le SES SMTP credenziali Amazon
Verifica della connessione all'SESSMTPinterfaccia Amazon
Puoi utilizzare la riga di comando per testare la tua connessione all'SESSMTPinterfaccia Amazon senza autenticarti o inviare messaggi. Questa procedura è utile per la risoluzione dei problemi di connettività di base. Se la connessione di prova non riesce, consulta Problemi relativi a SMTP.
Questa sezione include le procedure per testare la connessione utilizzando sia Open SSL (incluso nella maggior parte delle distribuzioni Linux, macOS e Unix ed è disponibile anche per Windows) sia il Test-NetConnection
cmdlet in PowerShell (incluso nelle versioni più recenti di Windows).
- Linux, macOS, or Unix
-
Esistono due modi per connettersi all'SESSMTPinterfaccia Amazon con OpenSSL: utilizzando una modalità esplicita SSL sulla porta 587 o una connessione implicita SSL sulla porta 465.
Per connettersi all'interfaccia tramite linguaggio esplicito SMTP SSL
-
Nella riga di comando, inserisci il seguente comando per connetterti al SES SMTP server Amazon:
openssl s_client -crlf -quiet -starttls smtp -connect
email-smtp.us-west-2.amazonaws.com
:587Nel comando precedente, sostituisci
email-smtp.us-west-2.amazonaws.com
con URL l'SESSMTPendpoint Amazon della tua AWS regione. Per ulteriori informazioni, consulta Regioni e Amazon SES.Se la connessione è avvenuta correttamente, viene visualizzato un output simile al seguente:
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
La connessione si chiude automaticamente dopo circa 10 secondi di inattività.
In alternativa, puoi utilizzare implicit SSL per connetterti all'SMTPinterfaccia tramite la porta 465.
Per connettersi all'SMTPinterfaccia tramite modalità implicita SSL
-
Nella riga di comando, inserisci il seguente comando per connetterti al SES SMTP server Amazon:
openssl s_client -crlf -quiet -connect
email-smtp.us-west-2.amazonaws.com
:465Nel comando precedente, sostituisci
email-smtp.us-west-2.amazonaws.com
con URL l'SESSMTPendpoint Amazon della tua AWS regione. Per ulteriori informazioni, consulta Regioni e Amazon SES.Se la connessione è avvenuta correttamente, viene visualizzato un output simile al seguente:
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
La connessione si chiude automaticamente dopo circa 10 secondi di inattività.
-
- PowerShell
-
È possibile utilizzare il NetConnection cmdlet Test-
PowerShell per connettersi al server Amazon SESSMTP. Nota
Il
Test-NetConnection
cmdlet può determinare se il computer è in grado di connettersi all'endpoint Amazon SESSMTP. Tuttavia, non verifica se il computer è in grado di stabilire una connessione implicita o SSL esplicita all'endpoint. SMTP Per testare una SSL connessione, puoi installare Open SSL for Windows per inviare un'e-mail di prova.Per connettersi all'SMTPinterfaccia utilizzando il
Test-NetConnection
cmdlet-
Nel PowerShell, inserisci il seguente comando per connetterti al SES SMTP server Amazon:
Test-NetConnection -Port
587
-ComputerNameemail-smtp.us-west-2.amazonaws.com
Nel comando precedente, sostituisci
email-smtp.us-west-2.amazonaws.com
con l'SESSMTPendpoint Amazon URL della tua AWS regione e sostituisci587
con il numero di porta. Per ulteriori informazioni sugli endpoint regionali in AmazonSES, consultaRegioni e Amazon SES.Se la connessione è avvenuta correttamente, viene visualizzato un output simile al seguente:
ComputerName : email-smtp.us-west-2.amazonaws.com RemoteAddress : 198.51.100.126 RemotePort : 587 InterfaceAlias : Ethernet SourceAddress : 203.0.113.46 TcpTestSucceeded : True
-
Utilizzo della riga di comando per inviare e-mail tramite l'SESSMTPinterfaccia Amazon
Puoi anche utilizzare la riga di comando per inviare messaggi utilizzando l'SESSMTPinterfaccia Amazon. Questa procedura è utile per testare SMTP le credenziali e per verificare la capacità di destinatari specifici di ricevere messaggi inviati tramite Amazon. SES
- Linux, macOS, or Unix
-
Quando un mittente di posta elettronica si connette a un SMTP server, il client invia un set standard di richieste e il server risponde a ciascuna richiesta con una risposta standard. Questa serie di richieste e risposte viene chiamata conversazione. SMTP Quando ti connetti al SES SMTP server Amazon tramite OpenSSL, il server si aspetta che avvenga una SMTP conversazione.
Quando usi Open SSL per connetterti all'SMTPinterfaccia, devi codificare le tue SMTP credenziali utilizzando la codifica base64. Questa sezione include le procedure per la codifica delle credenziali utilizzando base64.
Per inviare un'e-mail dalla riga di comando utilizzando l'interfaccia SMTP
-
Immettere quanto segue nella riga di comando e sostituire
email-smtp.us-west-2.amazonaws.com
con URL l'SESSMTPendpoint Amazon per te Regione AWS. Per ulteriori informazioni, consultaRegioni e 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 -
Quando richiesto per ogni variabile, inserisci i tuoi valori.
-
-
Per inviare utilizzando la modalità implicita SSL sulla porta 465, usa:
openssl s_client -crlf -quiet -connect
email-smtp.us-west-2.amazonaws.com
:465
Se il messaggio è stato accettato da AmazonSES, viene visualizzato un output simile al seguente esempio:
250 Ok 01010160d7de98d8-21e57d9a-JZho-416c-bbe1-8ebaAexample-000000
La stringa di numeri e di testo che segue
250 Ok
corrisponde all'ID messaggio dell'e-mail.Nota
La connessione si chiude automaticamente dopo circa 10 secondi di inattività.
-
-
- PowerShell
-
Puoi usare Net.Mail. SmtpClient
classe per inviare email usando Explicit SSL sulla porta 587. Nota
La classe
Net.Mail.SmtpClient
è ufficialmente obsoleta e Microsoft consiglia di utilizzare le librerie di terze parti. Questo codice è destinato solo a scopi di test e non deve essere utilizzato per carichi di lavoro di produzione.Per inviare un'e-mail tramite explicit PowerShell SSL
-
In un editor di testo, crea un nuovo file. Incolla il codice seguente nel file:
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 } SendTestEmailAl termine, salva il file come
SendEmail.ps1
. -
Apporta le modifiche seguenti al file creato nella fase precedente:
-
Replace (Sostituisci)
sender@example.com
con l'indirizzo email da cui desideri inviare il messaggio. -
Replace (Sostituisci)
recipient@example.com
con l'indirizzo e-mail a cui desideri inviare il messaggio. -
Replace (Sostituisci)
email-smtp.us-west-2.amazonaws.com
con URL l'SESSMTPendpoint Amazon della tua AWS regione. Per ulteriori informazioni, consulta Regioni e Amazon SES.
-
-
In PowerShell, inserisci il seguente comando:
.\
path\to\SendEmail.ps1
Nel comando precedente, sostituisci
path\to\SendEmail.ps1
con il percorso del file creato nel passaggio 1. -
Quando richiesto, inserisci il nome SMTP utente e la password.
In alternativa, è possibile utilizzare System.Web.Mail. SmtpMail
classe per inviare e-mail utilizzando implicitamente SSL la porta 465. Nota
La classe
System.Web.Mail.SmtpMail
è ufficialmente obsoleta e Microsoft consiglia di utilizzare le librerie di terze parti. Questo codice è destinato solo a scopi di test e non deve essere utilizzato per carichi di lavoro di produzione.Per inviare un'e-mail tramite PowerShell uso implicito SSL
-
In un editor di testo, crea un nuovo file. Incolla il codice seguente nel file:
[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 } SendTestEmailAl termine, salva il file come
SendEmail.ps1
. -
Apporta le modifiche seguenti al file creato nella fase precedente:
-
Replace (Sostituisci)
sender@example.com
con l'indirizzo e-mail da cui si desidera inviare il messaggio. -
Replace (Sostituisci)
recipient@example.com
con l'indirizzo e-mail a cui desideri inviare il messaggio. -
Replace (Sostituisci)
email-smtp.us-west-2.amazonaws.com
con URL l'SESSMTPendpoint Amazon della tua AWS regione. Per ulteriori informazioni, consulta Regioni e Amazon SES.
-
-
In PowerShell, inserisci il seguente comando:
.\
path\to\SendEmail.ps1
Nel comando precedente, sostituisci
path\to\SendEmail.ps1
con il percorso del file creato nel passaggio 1. -
Quando richiesto, inserisci il nome SMTP utente e la password.
-