Проблемы с получением электронной почты AWS SMTP для работы

#amazon-ses

Вопрос:

Я пытаюсь заставить приведенный ниже код работать с AWS SES (я заменил держатели мест, такие как » aaa » / » bbb » и т. Д. с моими верительными грамотами):

 import smtplib  
import email.utils
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

SENDER = 'aaa@bbb.com'  
SENDERNAME = 'aaa'

RECIPIENT  = 'ccc@ddd.com'
USERNAME_SMTP = 'xxxxx'
PASSWORD_SMTP = 'yyyyy'
HOST = 'email-smtp.us-east-1.amazonaws.com'
PORT = 587
SUBJECT = 'Amazon SES Test (Python smtplib)'
BODY_TEXT = ("Amazon SES Testrn"
             "This email was sent through the Amazon SES SMTP "
             "Interface using the Python smtplib package."
            )
BODY_HTML = """<html>
<head></head>
<body>
  <h1>Amazon SES SMTP Email Test</h1>
  <p>This email was sent with Amazon SES using the
    <a href='https://www.python.org/'>Python</a>
    <a href='https://docs.python.org/3/library/smtplib.html'>
    smtplib</a> library.</p>
</body>
</html>
            """
msg = MIMEMultipart('alternative')
msg['Subject'] = SUBJECT
msg['From'] = email.utils.formataddr((SENDERNAME, SENDER))
msg['To'] = RECIPIENT

part1 = MIMEText(BODY_TEXT, 'plain')
part2 = MIMEText(BODY_HTML, 'html')

msg.attach(part1)
msg.attach(part2)

try:  
    server = smtplib.SMTP(HOST, PORT)
    server.ehlo()
    server.starttls()
    server.ehlo()
    server.login(USERNAME_SMTP, PASSWORD_SMTP)
    server.sendmail(SENDER, RECIPIENT, msg.as_string())
    server.close()

except Exception as e:
    print ("Error: ", e)
else:
    print ("Email sent!")
 

Когда я запускаю код в консоли Python, код завершается в инструкции «вход» (сам скрипт не выдает никаких ошибок, код просто завершается, когда он входит в систему). Я подтвердил, что мой UN/PW верен, отправка электронной почты подтверждена и т.д., И моя учетная запись одобрена для отправки электронных писем. Также я могу отправлять электронную почту SMTP с помощью AWS SES, если я использую утилиту PowerShell ниже (поэтому сторона AWS настроена/включена правильно):

 $AWS_ACCESS_KEY = "aaa"
$AWS_SECRET_KEY = "bbb"

$SECURE_KEY = $(ConvertTo-SecureString -AsPlainText -String $AWS_SECRET_KEY -Force)
$creds = $(New-Object System.Management.Automation.PSCredential ($AWS_ACCESS_KEY, $SECURE_KEY))

$from = "me@me.com"
$to = "to@to.com"
$subject = "test" 
$body = "This is the body"

Write-Host "Sending Email via AmazonSES"
Send-MailMessage -From $from -To $to -Subject $subject -Body $body -SmtpServer email-smtp.us-east-1.amazonaws.com -Credential $creds -UseSsl -Port 587
Write-Host "Sent"
 

Есть какие-нибудь идеи о том, почему мой Python не работает? Сам код был получен из AWS. Не уверен, нужно ли что-то добавлять. Заранее спасибо.