Django Mailgun API возвращает запрет 401

Я установил Django any mail и пытаюсь использовать mail gun с ним для сброса паролей. Я добавил any mail в мои установленные приложения и попытался использовать mail gun как API или smtp сервис. Оба возвращают 401 forbidden

Для использования API почтовых пушек вот мой код:

EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend"
ANYMAIL_MAILGUN_API_KEY = config("MAIL_GUN_DOMAIN_API")

Для MAIL_GUN_DOMAIN_API я пробовал использовать закрытый ключ моей учетной записи и пробовал создать домен и использовать ключ отправки домена. Обе попытки дали одинаковый ответ.

для smtp :

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.mailgun.org'
EMAIL_PORT = 465
EMAIL_HOST_USER = config('MAIL_GUN_USERNAME')
EMAIL_HOST_PASSWORD = config('MAIL_GUN_SMTP_PASSWORD')
EMAIL_USE_TLS = True 

для MAIL_GUN_USERNAME я использовал логин моего домена для MAIL_GUN_SMTP_PASSWORD я использовал пароль моего домена. Я пробовал все различные порты mailguns и переключался между tls и ssl. ничего из этого не сработало.

Есть идеи, что я делаю неправильно?

Ошибка 401 означает, что ваш ключ API не действителен для письма, которое вы пытались отправить. Есть три вероятных варианта:

  1. Адрес From для отправляемых вами писем не соответствует вашему домену отправки Mailgun. Проверьте, что для адреса DEFAULT_FROM_EMAIL в Django установлен адрес, с которого вам разрешено отправлять. (По умолчанию это "webmaster@localhost", который определенно не будет работать.)

    .

    Возможно, вы также захотите рассмотреть настройку Anymail MAILGUN_SENDER_DOMAIN, в зависимости от того, какую электронную почту вы пытаетесь использовать и как настроен ваш аккаунт Mailgun.

  2. API_KEY или PASSWORD, которые вы считываете из config(), неверны. Если вы получаете конфигурацию из файла .env, распространенной ошибкой является попытка включить комментарий в строку с ключом/паролем, которую многие версии .env не поддерживают. Это не сработает:

    # In a .env file, comments should be on a separate line.
    MAIL_GUN_DOMAIN_API=mg-key-abcdefg  # comment not allowed here!
    
  3. Если вы разместили свой домен-отправитель в зоне EU компании Mailgun, вам нужно указать Anymail на серверы API компании Mailgun в EU вместо серверов США по умолчанию. См. настройку Anymail MAILGUN_API_URL. (Я не думаю, что это повлияет на SMTP).

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