アカウントをアクティブにしたときにHTMLメールを送信するルールを設定しました。次のような通知が返されるようです。
通知:未定義の変数:SmtpMailSystem-> mail()の添付ファイル
とにかくメールを送信しているようですが、テストするたびに2通のメールが届くことがわかりません。ログファイルを確認したところ、匿名ユーザーが検証URLを使用してメールアドレスを確認し、メールを送信したことがログに記録されているようです。次に、この新しいユーザーのセッションを開き、再度メールを送信します。
「ユーザーアカウントがアクティブ化されたとき」で実行するようにルールを設定しましたルールをオフにするとメールが届かないので、他にもメールを送信しているものはありません。これはこのルールだけで、2度実行するようです。
誰かが解決策を提供できますか?
[〜#〜] smtp [〜#〜] 、 Mimemail および Mail System モジュールを使用しています
誰かがルール、またはエラーや電子メールのテキストなどの詳細を投稿する必要がある場合は、質問してください。役に立たない可能性がある場合は、大量のコードブロックで投稿を殺したくありませんでした。
EDIT1
ログファイルの出力(当然のことながら、意味がわかるように順序を逆にしました。ログファイルは、最新のものを最初にしています)
編集2
問題はメールとは関係がないと判断し、ルールを再作成してみましたが、HTMLメールを送信するのではなく、ページに出力を送信しました。このルールが2回実行されることが確認されましたメッセージも2回出力されたという事実。
[〜#〜]更新[〜#〜]
Molotが指摘したように、これは電子メールとは関係ありません。ルールが2回発生するだけです。確認時にメールを送信しようとしている誰かが私と同じ結論に達した場合に備えて、上記のテキストを残しておきます。そうすれば、彼らがこれを見つけて何が起こっているのかを理解できます。
あなたの質問は、質問のバリエーション(重複ではなくIMO)のようです-- 「既存のユーザーアカウントを更新した後」のイベントに2回起動するイベントに反応する私のルールはなぜですか? '。その質問で受け入れられた回答は、問題(原因)の理解にも役立つ可能性があります。
他のいくつかのモジュールコードは、
user_save
でhook_user_update
を呼び出して、ルールイベントを再度トリガーしています。
これをデバッグする場合は、提供されたすべてのモジュール(「ルール」と「エンティティーAPI」を除く)を無効にして、実際に提供されたモジュールかどうかを確認します(コアではないと思います)。そして、問題が再発するまで、提供されたモジュールを1つずつ再度有効にします。それが戻ってきたらすぐに、問題の原因となった寄付モジュールを特定し、可能な解決策に取り組み始めることができます。
その質問には 別の答え もあり、非常に興味深い回避策があり、画像は次のようになります(画像は1000ワード以上の価値があります)。
この問題が発生しないようにする別の回避策は、既存のルールを改善して、- my answer に含まれるルールと同様にすることです。 " [account:last -login] =いいえ? "。すなわち:
4
"のロールを持っていません(!!!).4
"のロールを付与します。したがって、このルールの改善により、ユーザーに役割ID = "4
"の(指定された)役割がまだないかどうかが確認されます(ケースに適合する任意の役割IDに適応し、この役割がまだないことを確認してください)新しいユーザーIDをアクティブにするときに付与されます)。その場合、ユーザーにはそのロールが付与されます。既存のルールに対するこの改善により、次のことが起こります。
言い換えると、「これにより、ルールアクションが2回発生するのを防ぎます "(質問のように)。