0

現在、mandrill をこの Django ベースの Web サイトに電子メール用に統合しようとしています。Djrill は Django の推奨パッケージであり、デフォルトの SMTP/電子メール バックエンドの代わりに配置され、電子メールを Mandrill アカウントに渡します。

次のコマンドを実行して、この新しいバックエンドが機能していることをテストしようとすると:

send_mail('Test email', body, 'noreply@*********.com', [user.email], fail_silently=False)

次のエラーがスローされます: http://pastebin.ca/2239978

誰かが私の間違いを指摘できますか?

4

1 に答える 1

0

アップデート:

@DavidRobinson がコメントで言及しているように、mandrill API 認証呼び出しからの応答が成功していません。API キーを再確認する必要があります。

それが正しければ、curl を使用して投稿{"key": <your api key>, "email": <your from email>}MANDRILL_API_URL + "/users/verify-sender.json"、200 を取得するかどうかを確認してください。

このようなもの:

curl -d key=1234567890 -d email=noreply@mydomain.com http://mandrill.whatever.com/user/verify-sender.json

元の答え:

Djrill には、有用なエラー メッセージが伝播されないという問題もあります。スタック トレースの最後の行が問題です。

これは、ソースopenから取得したメソッド全体です。

def open(self, sender):
    """
    """
    self.connection = None

    valid_sender = requests.post(
        self.api_verify, data={"key": self.api_key, "email": sender})

    if valid_sender.status_code == 200:
        data = json.loads(valid_sender.content)
        if data["is_enabled"]:
            self.connection = True
            return True
    else:
        if not self.fail_silently:
            raise

raise例外引数なしでそれがどのように言っているのかわかりますか? その構文はexceptブロック内でのみ許可され、現在処理されている例外を発生させます。exceptブロックの外では機能しません。

Djrillの未解決の問題では、送信の失敗が言及されており、おそらくそれを修正するフォークがリンクされています。Djrill は十分にサポートされていないと思われます。そのフォークまたは別のソリューションを完全に試すことができます。

于 2012-10-05T19:54:17.090 に答える