SMTPServerDisconnected в /auth/users/

В настоящее время я работаю с Python 3.10.1 и Django 4.0.1 на задней стороне, и React/Redux на передней стороне. У меня есть приложение, в котором после того, как пользователь зарегистрируется, ему будет отправлено письмо с активацией. Однако письмо так и не появляется, и при посещении бэкенда я вижу эту ошибку на вкладке network в devtools.

enter image description here

Я перешел с gmail из-за обходных путей, которые в итоге не сработали для меня, поэтому я перешел на SendGrid, но и он пока не работает.

<

settings.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = 'api'
EMAIL_HOST_PASSWORD = 'password'
DEFAULT_FROM_EMAIL = 'email@gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True

auth.js

// sign up function
export const signup = (email, password, re_password) => async (dispatch) => {
    const config = {
        headers: {
            'Content-Type': 'application/json',
            'X-CSRFToken': csrftoken,
        },
    };
    const body = JSON.stringify({ email, password, re_password });
    try {
        const response = await axios.post(
            `${process.env.REACT_APP_API_URL}/auth/users/`,
            body,
            config
        );
        dispatch({
            type: SIGNUP_SUCCESS,
            payload: response.data,
        });
    } catch (err) {
        dispatch({
            type: SIGNUP_FAIL,
        });
    }
};

Traceback (если это поможет)

Имя пользователя должно быть apikey, а не api. Из документации :

Чтобы использовать ваш API ключ с SMTP интеграцией, вы должны установить ваше имя пользователя в строку apikey. Вашим паролем будет ключ API, который вы сгенерировали на предыдущем шаге.

Если вы используете бесплатный аккаунт SendGrid, требуется проверка одного отправителя. Этот дополнительный шаг помогает SendGrid соблюдать законы о борьбе со спамом.

Чтобы исправить это, следуйте инструкциям SendGrid для проверки учетной записи электронной почты. Отправка электронной почты с бесплатных сервисов, таких как gmail.com или yahoo.com, больше не поддерживается. Это связано с протоколом аутентификации электронной почты DMARC. Поэтому для отправки реальных сообщений электронной почты теперь необходимо использовать пользовательский, несвободный почтовый ящик, принадлежность которого можно подтвердить.

Вернуться на верх