Django не отправляет сообщения, несмотря на правильную реализацию
Спецификации: Django версии 4.2.5, Python 3.11, Visual Studio Code.
Я использую (ну, пытаюсь использовать) SendGrid для отправки веб-формы & в настоящее время я в разработке (DEBUG = True
).
Следуя руководству по быстрому запуску, предоставленному SendGrid, я могу подтвердить, что SendGrid был установлен правильно, включая .env
, в котором находится SENDGRID_API_KEY
Я также в точности следовал следующей документации:
Документация Django по Sendgrid
Я следую этому руководству:
Вот мой код:
{% if message_name %}
<center>
<h1>Thanks {{message_name}}!</h1>
<p>We will get back to you shortly.</p>
{% else % }
<section class="vp">
<div class="parent parent--headline">
<form method="POST" action="{% url 'careers' %}">
{% csrf_token %}
<input required type="text" name="message-name" placeholder="First name"/><br/><br/>
<input required type="email" name="message-email" placeholder="Email"/><br/><br/>
<textarea required spellcheck="true" name="message" placeholder="Insert your message"></textarea>
<input type="submit" value="Send feedback" class="btn btn--pink"/>
</form>
</div>
</section>
</center>
{% endif %}
В settings.py
у меня есть следующее:
SENDGRID_API_KEY = os.getenv('SENDGRID_API_KEY')
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = 'apikey' # this is exactly the value 'apikey'
EMAIL_HOST_PASSWORD = SENDGRID_API_KEY
EMAIL_PORT = 587
EMAIL_USE_TLS = True
Примечание: action="{% url 'careers' %}">
означает, что он вернется на ту же страницу и (должен - но, конечно, не делает этого) отобразит сообщение с благодарностью, используя операторы Django if
, endif
.
Нет никаких сообщений об ошибках или признаков неудачной аутентификации.
Несмотря на то, что я следую документации до последнего, успешно проверяю свой адрес электронной почты в SendGrid и изучаю этот учебник, почему я не только не могу отправить письмо, но и не могу добиться появления благодарственного сообщения после того, как я якобы нажал кнопку "Отправить отзыв"?