У меня есть Django приложение, которое находится в AWS EC2, я хочу подключиться к AWS SES для отправки электронной почты, поэтому я следовал этому уроку: https://kholinlabs.com/the-easiest-way-to-send-emails-with-django
Во-первых, я создал экземпляр EC2 в зоне доступности ap-southeast-1a, в которой действуют следующие правила входящего и исходящего трафика:
правило входящего трафика:
HTTP TCP 80 0.0.0.0/0
All traffic All All 0.0.0.0/0
All traffic All All ::/0
SSH TCP 22 0.0.0.0/0
SMTPS TCP 465 0.0.0.0/0
SMTPS TCP 465 ::/0
HTTPS TCP 443 0.0.0.0/0
правило исходящего трафика:
All traffic All All 0.0.0.0/0
All traffic All All ::/0
затем я создал Django приложение внутри сервера:
django-admin startproject mysite
python3 manage.py makemigrations
python3 manage.py migrate
добавьте следующие строки в установочный файл:
EMAIL_BACKEND = 'django_ses.SESBackend'
AWS_ACCESS_KEY_ID = 'secret'
AWS_SECRET_ACCESS_KEY = 'secret'
AWS_SES_REGION_NAME = 'ap-southeast-2'
AWS_SES_REGION_ENDPOINT = 'email-smtp.ap-southeast-2.amazonaws.com'
затем я создал SES экземпляр в зоне доступности ap-southeast-2.
на сервере EC2, я следую инструкциям и набираю команды:
python3 manage.py shell
from django.core.mail import send_mail
send_mail(
'Subject here',
'Here is the message.',
'from@example.com',
['to@example.com']
)
, но он застрял на очень долгое время (около 10 минут) и затем показать сообщение об истечении времени ожидания.
Есть ли какой-то шаг, который я пропустил?
другая информация: для te lnet:
telnet email-smtp.ap-southeast-2.amazonaws.com 465
Trying 3.24.207.252...
Connected to email-smtp.ap-southeast-2.amazonaws.com.
Escape character is '^]'.
465 порт может работать
telnet email-smtp.ap-southeast-2.amazonaws.com 25
Trying 13.238.20.185...
он застрял для порта 25
telnet email-smtp.ap-southeast-2.amazonaws.com 587
Trying 3.24.207.252...
Connected to email-smtp.ap-southeast-2.amazonaws.com.
Escape character is '^]'.
220 email-smtp.amazonaws.com ESMTP SimpleEmailService-d-EHZHT2N2F i9ibRsZcZvQJA54s7GtJ
451 4.4.2 Timeout waiting for data from client.
Connection closed by foreign host.