6

これをデバッグする方法さえわかりません。Django のビューの 1 つで send_mail を使用しています。アプリをローカルで使用する場合 (実稼働環境で使用するのと同じ SMTP 設定を使用) に正常に動作し、実稼働環境のシェルから (同じ設定を使用して) 正常に動作します。しかし、実際に本番環境でアプリを使用すると、メッセージは送信されません。トラブルシューティングの方法はありますか?

ビュー全体には貼り付けませんが、関連するセクションは次のとおりです。

if request.method == 'POST':
    message, form = decideform(request.POST)
    if form.is_valid():
        invitation.status = form.cleaned_data['status']
        invitation.save()
        message, form = decideform(request.POST)
        update = 'Thank you for updating your status.'

        # Send an email confirming their change
        subject = 'Confirming your RSVP [%s %s]' % (invitation.user.first_name, invitation.user.last_name)
        body = message + ' Remember, the URL to update or change your RSVP is http://the.url%s.' % invitation.get_absolute_url()
        send_mail(subject, body, 'rsvp@mydomain.com', ['rsvp@mydomain.com', invitation.user.email], fail_silently=True)

そして、これが私の local_settings ファイルからの関連ビットです。セキュリティのために重要な詳細が変更されています。

EMAIL_HOST = 'mail.mydomain.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'rsvp@mydomain.com'
DEFAULT_FROM_USER = 'rsvp@mydomain.com'
EMAIL_HOST_PASSWORD = 'p4ssw0rd'
4

3 に答える 3

0

代わりに、構成が非常に簡単な django-sendgrid を試すことができます。このような設定を使用します

EMAIL_BACKEND = "sgbackend.SendGridBackend"
SENDGRID_USER = 'xxxxxx'
SENDGRID_PASSWORD = 'xxxxxx'
EMAIL_PORT = 1025
于 2016-09-03T11:56:22.050 に答える
0

権限を確認してください。send_mail を実行する権限があるのに、アプリに権限がない可能性があります。

于 2012-10-23T16:38:25.693 に答える