別々のdjangoプロジェクトと1つのpythonスクリプトファイルがあります。スクリプトファイルはプロジェクトに依存しません(別のパスで利用可能でした)。
スクリプトファイルはいくつかのデータを生成し、対応するユーザーにメールを送信する必要があります。この場合、私はdjangoメールを使用しようとしています:-
from django.core.mail import EmailMessage, SMTPConnection
Pythonスクリプトファイルでdjango環境を有効にし、sys.pathをdjangoプロジェクト設定に追加しました(これで、djangoメールを使用できるようになります)。
# setting a django environment
os.environ['DJANGO_SETTINGS_MODULE'] = "settings"
sys.path = sys.path + [PROJECT_PATH]
そして、私のスクリプトに追加されたメール設定コード:-
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'xxxx@gmail.com'
EMAIL_HOST_PASSWORD = 'xxx'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
結局、このメールは正しく機能していません。上記のパラメータが設定ファイルにないため(実際の問題は、この「EMAIL_USE_TLS」パラメータ自体を設定に追加した場合、スクリプトファイルから取得した他のパラメータが正しく機能することを意味します。
私の質問は、なぜこのパラメータが他のパラメータのようにスクリプトファイルから取得されないのですか?
また
設定ファイルで指定する必要がある必須の「EMAIL_USE_TLS」はありますか?
EMAIL_USE_TLS = Trueを設定で指定しなかった場合、エラーを下回ることを意味します:-
SMTP AUTH extension not supported by server
誰かがこれについてアドバイスしてください。