4

django.core.mailを使用してデフォルトのバックエンドを使用してメールを送信しようとしていますが、機能していないようです。設定ファイルで電子メールのクレデンシャル、サーバー、およびポート番号を設定しましたが、電子メールメッセージのsend()メソッドを実行しようとすると、コマンドが無期限にハングします。

4

2 に答える 2

5

views.py

from django.core.mail import send_mail

def sending_email(request):
    message = ""
    subject = ""
    send_mail(subject, message, from_email, ['to_email',])

これをsettings.pyに追加します

# Sending mail
EMAIL_USE_TLS = True
EMAIL_HOST='smtp.gmail.com'
EMAIL_PORT=587
EMAIL_HOST_USER='your gmail account'
EMAIL_HOST_PASSWORD='your gmail password'
于 2013-02-13T10:43:42.753 に答える
2

use_tls = Trueを指定してsmtp.gmail.com経由で送信しようとしたときに、同じ問題が発生していました。ポートセットが間違っていたことがわかりました。これが私が今していることであり、それは機能します:

from django.core.mail import get_connection
from django.core.mail.message import EmailMessage

connection = get_connection(use_tls=True, host='smtp.gmail.com', port=587,username='YourEmail@gmail.com', password='YourPassword')
EmailMessage('test', 'test', 'addr@from.com', ['addr@to.com'], connection=connection).send()
于 2013-02-13T05:47:04.483 に答える