web-dev-qa-db-ja.com

サーバーとの実際のSMTP認証モジュール通信をログに記録する方法は?

SMTP認証モジュールを使用しています。 SMTPプロバイダーは、ホワイトリストに登録されていると主張しています。設定は機能します。 Drupalが電子メールを送信することになっている場合、正常に送信されたと主張して、適切なエントリがWatchdogに表示されます。

残念なことに、最近、ユーザーに届くのは2種類のメールのみです。「アカウントが無効になっています」と「アカウントが削除されました」の通知と、SMTP認証モジュールのテストメールです。パスワード復元メール、メール確認メール、モデレーターの承認待ちのユーザーは、そうではありません。

SMTPサーバーとの実際の通信をログに記録し、後で参照できるように保存するにはどうすればよいですか? Drupalのバグを探す必要があるのか​​、それともSMTPサーバーの障害なのかわかりません。実際のデータを使用すると、確かに、本当に必要な部分を修正/修正できます。

SMTP認証で「デバッグ」を有効にすることは実用的ではありません-デバッグして画面に表示されるため、AJAX呼び出しが壊れ、これらの電子メールのほとんどはパスワードの回復または新しいユーザーのものなので、匿名によってトリガーされます-明らかに、デバッグデータは表示されません。

1
Mołot

簡単な答えは、SMTPモジュールのデバッグ出力を、画面に加えて、または画面ではなく、ウォッチドッグを使用するように変更することだと思います。

モジュールがそれを行うためのフックを提供しない限り、おそらく一時的にパッチを当てる必要がありますが、ライブサーバーでデバッグする必要がある場合、実際には別のオプションはありません(とにかく私が考えることができる簡単なものではありません) 。

通常のアドバイスは「devで再現してから、deon権限を一時的に解放してanonユーザーがテストできるようにする」ことですが、もちろんメールでは、再現される問題は異なるサーバー間で頻繁に発生します。

2
Clive