我正在使用Django-allauth並通過Amazon SES發送電子郵件。我希望所有帳戶都能在他們登錄之前驗證他們的電子郵件,但電子郵件驗證發送似乎無聲無息。我查看了源代碼,我發現我應該設置DEFAULT_FROM_EMAIL,但它仍然不起作用。如何找出爲什麼django-allauth不發送確認電子郵件?
這是我的配置,以防萬一我忘記了任何明顯的東西。我將django-smtp-ssl安裝爲電子郵件後端。非常感謝您的幫助!
# E-mail
EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'
EMAIL_HOST = 'email-smtp.us-west-2.amazonaws.com'
EMAIL_HOST_USER = os.environ['EMAIL_USER']
EMAIL_HOST_PASSWORD = os.environ['EMAIL_PASSWORD']
EMAIL_PORT = 465
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'Verified-email <[email protected]>'
# Auth
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
SOCIALACCOUNT_EMAIL_VERIFICATION = True
ACCOUNT_AUTHENTICATION_METHOD = 'username_email'
變化'''EMAIL_BACKEND'''來'''「django.core.mail.backends.console.EmailBackend'''',所以你會看到,如果電子郵件是發送或不是。如果是發送,則會被SES阻止。 –
發送電子郵件不僅僅是從SMTP服務器上發送郵件。我寫了一些需要注意的事項(DKIM,SPF,反彈處理,PTR等)https://github.com/fmalina/emails。我在FlatmateRooms上使用allauth這個代碼,現在使其具有通用性並且可配置爲開放源代碼。 –
我嘗試過使用其他適配器,但沒有運氣。我將嘗試在django-allauth代碼中設置一些斷點並查看正在發生的事情。 SES還提到已發送0封電子郵件,所以我認爲錯誤在我身邊。 我會保持更新,感謝您的輸入! –