0

アプリをGAEに移行する前は、次のコードを使用してメールを送信していましたが、非常にうまく機能していました。

from django.core.mail import send_mail

subject = 'Hello!'
msg = '\n \n Hello World!'
sender = settings.DEFAULT_FROM_EMAIL
to = ['xx@xx.com']

send_mail(subject,msg,sender,to,fail_silently=False)

現在、GAE(Python 2.7)への移行後は機能しません。次のエラーがスローされます。

Exception Type: NotImplementedError
Exception Location: C:\Program Files(x86)\Google\google_appengine\google\appengine\api\remote_socket\_remote_socket.py in gethostbyaddr, line 256

私はsettings.pyファイルをfolloとして設定しています

EMAIL_USE_TLS = True
EMAIL_HOST = 'xxx.yyy.com'
EMAIL_HOST_USER = 'my.account@yy.com'
EMAIL_HOST_PASSWORD = 'zzzzzzzzz'
EMAIL_PORT = 587

誰かがGAEのDjangoモジュールで電子メールを送信し、そのエラーについて何か知っていますか?

4

2 に答える 2

3

AppEngineからメールを送信する場合は、mail.send_mail()を使用する必要があります。

from google.appengine.api import mail

mail.send_mail(sender="Example.com Support <support@example.com>",
              to="Albert Johnson <Albert.Johnson@example.com>",
              subject="Your account has been approved",
              body="Hello, world!")
于 2013-02-19T09:32:59.173 に答える
-1

私は、なぜそのエラーが発生したのかという問題を考え出しました。

Djangosend_mailはGAEではサポートされていません。GAEで実行できるようにするには、アプリにDjango電子メールバックエンドを追加する必要があります。

行う2つのステップ:

  1. サードパーティのモジュラーをインポートする-> appengine_emailbackend

  2. settings.pyファイルに次のいずれかの行を書き留めます。

    EMAIL_BACKEND ='appengine_emailbackend.async.EmailBackend'

    EMAIL_BACKEND ='appengine_emailbackend.EmailBackend'

それでも、そのバックエンドを使用した後はエラーはスローされませんが、何も送信されません。

誰かが助けることができますか?

于 2013-02-19T07:41:05.073 に答える