Nano Hash - криптовалюты, майнинг, программирование

как выполнить настройку SMTP django, используя экземпляр aws с EIP и доменным именем по умолчанию

Прошло 2 дня, не могу найти хороший метод.

1. Экземпляр AWS Linux имеет предварительно установленный sendmail, мне нужно только отправить электронное письмо. Но не знаете, как настроить sendmail и другие пакеты.

2. Попробуйте использовать AWS SES, однако для этого необходимо подтвердить домен, а это значит, что мне нужно иметь дело с AWS Router 53. После прочтения очень сложного документа и «создания размещенной зоны» проверка домена AWS SES все еще «ожидает» через 24 часа. . Я предполагаю, что доменное имя EIP по умолчанию, например «ec2-***-amazonaws.com», не является квалифицированным/зарегистрированным доменом?

Как новичок в настройке SMTP, действительно не знаете, что делать? Поскольку даже при использовании бесплатного почтового сервера кажется, что все еще необходимо «подтвердить домен», если доменное имя aws по умолчанию «ec2-***-amazonaws.com» недействительно, как я могу пройти проверку домена?

Кстати, поскольку sendmail предварительно установлен, а этот веб-сайт очень простой, используется небольшая группа, как установить конфигурацию и другой пакет для работы почтового сервера на самом этом экземпляре?

Любое предложение приветствуется!

Спасибо


Ответы:


1

Гораздо проще, если вы настроите электронную почту из своего приложения Django непосредственно на стороннего поставщика электронной почты, полностью минуя локальную конфигурацию sendmail. Попытка настроить подключение электронной почты к AWS/SES на самом сервере также является проблемой, также гораздо проще настроить приложение Django для прямого подключения к AWS/SES.

У вас есть три очень популярных варианта настройки электронной почты от Django:

  • Настройте подключение к приложениям Gmail/Google. Если вы будете отправлять много писем, я бы не рекомендовал этот вариант, потому что они легко блокируют вас, если вы используете его для передачи большого количества электронной почты.
  • Настройте соединение с AWS/SES. Вы упомянули, что уже пробовали это, но теперь попробуйте установить соединение внутри Django, используя пакеты Python boto и django-ses, это значительно упростит настройку электронной почты. Кроме того, boto также полезен, если вы планируете использовать какой-либо другой сервис AWS, например S3.
  • Настройте подключение к Mandrill. Это еще один провайдер, не такой крупный, как Google или AWS, но они предоставляют хороший сервис с приличным объемом бесплатной электронной почты, и вы также можете настроить подключение непосредственно из Django.

Взгляните на эту статью, которую я написал, в которой подробно описаны все шаги по настройке для всех трех провайдеров: http://www.webforefront.com/django/setupdjangoemail.html

27.01.2016
  • Большое спасибо за такое хорошее объяснение. Я прочитал вашу статью и успешно сделал первый выбор: через Gmail. Я попробую второй вариант: AWS/SES, просто хочу подтвердить: нужно ли сначала подтверждать домен в SES? или мне не нужно ничего делать в AWS/SES, просто установите django-ses с настройками AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY? 28.01.2016
  • Насколько мне известно, вам не нужно подтверждать домен, чтобы использовать SES таким образом. AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY достаточно для аутентификации. В дополнение к pip install django-ses вам также нужен boto, поэтому также сделайте pip install boto 28.01.2016
  • Я попробовал AWS/SES с настройками AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY, также проверил адрес электронной почты. Однако всегда была ошибка: ‹Тип›Отправитель,‹Код›СообщениеОтклонено‹/Код›, ‹Сообщение›Адрес электронной почты не подтвержден.‹/Сообщение›. Кстати, settings.py с EMAIL_FROM, SERVER_EMAIL, EMAIL_HOST_USER, DEFAULT_FROM_EMAIL, все = ‹подтвержденный адрес электронной почты в SES›. 28.01.2016
  • Вам обязательно нужно подтвердить домен в SES, если вы хотите отправлять электронные письма на что-либо, кроме тестового адреса электронной почты. 28.01.2016
  • Для AWS/SES вы изменили серверную часть на EMAIL_BACKEND = 'django_ses.SESBackend'? Похоже, он все еще пытается сначала подключиться к локальной почте sendmail, чтобы отправить ее на AWS/SES. Также убедитесь, что вы закомментировали все остальные переменные электронной почты в settings.py (например, EMAIL_HOST и EMAIL_HOST_USER, которые могут переопределять настройки django-ses) 28.01.2016
  • Новые материалы

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

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..