От новичка до гуру: Курсы программирования на CyberDuff

Простой почтовый сервис AWS работает на локальном хосте, но не на рабочем сервере EC2.

Поэтому я работаю над почтовым API для своего сайта. Сценарий следующий:

  1. Клиент подключается к конечной точке.
  2. Конечная точка API обрабатывает запросы и отправляет электронную почту с помощью почтовой службы (основанной на aws sdk).
  3. API возвращает Ok/BadRequest на основе результата.

Когда я делаю это с моим API, работающим на локальном хосте, все работает нормально, и я получаю электронную почту на свой почтовый ящик, как и ожидалось. Но когда я запускаю свою службу API на экземпляре Amazon EC2, я получаю следующее:

Код состояния ответа не указывает на успех: 404 (не найдено)

Я дважды проверил, что у меня есть файл .aws/credentials как на моем локальном компьютере, так и на экземпляре EC2 (ubuntu 16.10). Я могу без проблем связаться со своей службой API, работающей на экземпляре EC2, потому что я получаю ответ BadRequest. Проблема в том, что почтовая служба пытается отправить электронное письмо с помощью amazon SES. Я считаю, что это не сам код, потому что он отлично работает на локальном хосте. Любые идеи?


  • Для справки, я обновил свой код API, так что теперь он отправляет электронные письма, используя протокол smtp вместо aws sdk, и он работает, как и ожидалось. Так что это явно проблема с aws sdk или какой-то отсутствующей конфигурацией на моей стороне. В любом случае я все еще ищу ответ. 05.08.2018
  • Можете ли вы успешно выполнить какие-либо другие вызовы API (например, ListTemplate()) только для того, чтобы убедиться, что вы правильно настроили свои учетные данные? Каково значение region в вашем файле конфигурации или вашем коде? 06.08.2018
  • @JohnRotenstein Все остальные вызовы API работают нормально. Как я уже писал ранее, я перешел на отправку писем по протоколу SMTP и пока никаких проблем. О каком конфигурационном файле вы пишете? AWS? Если да, то я ничем не пользуюсь. 06.08.2018

Ответы:


1

Если у кого-то еще есть такая же проблема, переход на порт 587 решил проблему.

Ec2 по умолчанию имеет очень строгий дроссель на порту 25. Вы можете попасть в белый список на основе IP-адресов, заполнив формальный запрос, но если вы отправляете в SES, мы рекомендуем использовать порт 587 или 2587.

Подробнее о дросселировании EC2 на порту 25: https://aws.amazon.com/premiumsupport/knowledge-center/ec2-port-25-throttle/

Дополнительные сведения о доступных SMTP-портах SES: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-connect.html

05.03.2020
Новые материалы

Представляем Narwhal Technologies (Nrwl)
6 декабря 2016 г. Маунтин-Вью, Калифорния С тех пор, как Виктор Савкин и я (Джефф Кросс) присоединились к команде Angular в Google на заре Angular 1, Angular продемонстрировал феноменальный..

Путь AWS  — «Изучение машинного обучения — 10 начинающих ИИ и машинного обучения на AWS».
Универсальный ресурсный центр для изучения искусственного интеллекта и машинного обучения. НОЛЬ или ГЕРОЙ, начните свое путешествие здесь. Получите решения и пройдите обучение у экспертов AWS...

5 простых концепций Python, ставших сложными
#заранее извините 1) Переменные x = 4 y = 5 Переменная в Python — это символическое представление объекта. После присвоения некоторого объекта переменной Python мы приобретаем..

«Освоение вероятности: изучение совместной, предельной, условной вероятности и теоремы Байеса —…
Виды вероятности: Совместная вероятность Предельная вероятность Условная вероятность Диаграмма Венна в вероятностях: В “Set Theory” мы создаем диаграмму Венна...

Основы Spring: Bean-компоненты, контейнер и внедрение зависимостей
Как лего может помочь нашему пониманию Когда мы начинаем использовать Spring, нам бросают много терминов, и может быть трудно понять, что они все означают. Итак, мы разберем основы и будем..

Отслеживание состояния с течением времени с дифференцированием снимков
Время от времени что-то происходит и революционизирует часть моего рабочего процесса разработки. Что-то более забавное вместо типичного утомительного и утомительного процесса разработки. В..

Я предполагаю, что вы имеете в виду методы обработки категориальных данных.
Я предполагаю, что вы имеете в виду методы обработки категориальных данных. Пожалуйста, проверьте мой пост Инструментарий специалиста по данным для кодирования категориальных переменных в..