Ошибка «Соединение неожиданно закрыто» при отправке электронной почты с использованием SES от AWS - PullRequest
0 голосов
/ 26 марта 2020

Поэтому я пытаюсь отправить электронное письмо самому себе, используя SMTP и AWS. Письмо, которое я использую в своей конфигурации, проверено, так как я все еще использую режим песочницы в SES. Во время работы скрипта я получаю сообщение об ошибке Connection unexpectedly closed, даже тесто. Я пытался соединиться с OpenSSL, и он подключился, но после подключения показала ошибку Didn't find STARTTLS in server response, trying anyway....

Вот мой код:

MAIL = {}
MAIL['USERNAME'] = 'AKIAXARHTFGFKCDAO7PD'
MAIL['PASSWORD'] = 'BE0tXPq8wteiKZYtgD2TgtfFTGhgFGOhUp3F0lG0uqn'
MAIL['HOST'] = 'email-smtp.eu-central-1.amazonaws.com'
MAIL['PORT'] = 465


# Set user code
            code = random.randrange(000000, 999999)
            # Send email to user
            print(code)
            print(current_user.email)
            msg = MIMEMultipart('alternative')
            msg['Subject'] = 'Ruby - Verification code'
            msg['From'] = 'amng835@gmail.com'
            msg['To'] = current_user.email
            msg.attach(MIMEText(f'Your verification code is: {code}', 'plain'))
            try:
                server = smtplib.SMTP(MAIL['HOST'], MAIL['PORT'])
                server.ehlo()
                server.starttls()
                server.ehlo()
                server.login(MAIL('MAIL_USERNAME'), MAIL('MAIL_PASSWORD'))
                server.sendmail('amng835@gmail.com', current_user.email, msg.as_string())
                server.close()
            except Exception as error:
                print('Failed to send message to user')
                print(error)

Вывод OpenSSL:

Команда:

openssl s_client -connect email-smtp.eu-central-1.amazonaws.com:465 -starttls smtp

Вывод:

CONNECTED(00000005)
Didn't find STARTTLS in server response, trying anyway...
write:errno=0
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 372 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

Источник моей документации: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/examples-send-using-smtp.html

...