0

別々の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

誰かがこれについてアドバイスしてください。

4

0 に答える 0