2010-11-23 7 views
0

皆様、 最近私はサイトを立ち上げました。私はdjangoの管理者ページで多くの非アクティブユーザーを見ています。私は現在django登録を使用しています。これは、電子メール(send_mail)を設定して送信するのにかなり時間がかかります。これに対する代替ソリューションは何ですか?django登録ユーザーが非アクティブにオーバーフローする

どうやって電子メール接続をdjangoで別のスレッド間でアクティブに保つことができますか?それを設定することは良い考えのようには思われません

答えて

0

djangoが毎回接続を作成するという事実が原因で問題が起こっていると確信している場合は、 authなしでローカルsmtpをインストールして、localhost経由で接続することができます。はるかに高速です。

0

ローカルsmtpをインストールする場合(Windowsデスクトップを使用する場合など)、python libs:baseライブラリやTwistedから使用することができます。

0

このfork of django-registrationは、django-mailerと統合されています。これはバックグラウンドプロセスを使用して、HTTPリクエスト中にメールを処理する代わりにメールを送信します。メールは、管理コマンドによって送信されます。

$ /usr/local/bin/python2.5 manage.py send_mail 

あなたのスケジュールcronを定期的にこのコマンドを実行するために、5分ごとかそこらは言います。これは、ユーザーが確認メールを受信するまでに時間がかかることを意味しますが、タイムアウトによって発生した問題を解決します。

しかし、私はこのような問題がSMTPで発生することはありませんでした。トラフィックが顕著でない限り(そして本当に!)、この問題は発生しません。 SMTP設定に他の問題がないことを確認してください。最低でも、あなただけのサーバー用のbashシェルで

$ date | mail [email protected] 

のようなものを実行しているだけでなく、シェルでDjangoのsend_mailコマンドで遊ぶことができます。

これはすべてあなたが* nixサーバーなどを使用していることを前提としています。 Windowsマシンを使用している場合は、他のオプションを調べる必要があります。あるいは、少なくともこれをやや異なった方法で実装する必要があります。