web-dev-qa-db-ja.com

メールでフォームのフィールドが欠落している

これは、Drupal 8サイト、具体的にはDrupal 8.7.1および「連絡先」モジュール(連絡先メール、連絡先ストレージが有効になっている))に関するものです。

私が直面している問題は、フォームの送信時に送信されるメールに含まれていないフィールドがあることです。 Swiftmailerやその他のHTMLメールパッケージはここには含まれていません。私の最終的な目標は、入力されたすべてのフィールドを含めることです。

状況をこれに絞り込みました。ログインすると、フォームの送信後に送信された結果のメールには、常に正しいフィールドがすべて含まれています。 ifnot、つまりanonymousユーザーがフォームに入力する、一部のフィールドがメールから完全に欠落しています。

前述の欠落しているフィールドは、実際には段落またはエンティティのリビジョンであり、フロントエンドの段落の追加/削除機能にアクセスするために使用しました。少し前処理を行うだけで機能しますが、送信者が匿名ユーザーである場合は、電子メールメッセージに含まれることは絶対に拒否されます。

健全性チェック-フィールドはすべて存在し、連絡先ストレージモジュールの一部として入力されているため、問題ありません。匿名ユーザーには、段落タイプを管理するためのアクセス権はありませんが、段落が連絡先フォーム(?)のフィールドである場合は必要ありません。

さまざまなスタック交換やその他のサイトを確認しましたが、 テーマの連絡先メール など、漠然とした関連のある問題しか見つけることができません。 Contactで段落を使用することは、一般的なことではないようです。これらはサブフォームとして埋め込まれていますが、この質問をした人は他にいません。

サイトはAcquia Cloudでホストされています、PHP 7.2、それが役立つ場合。モジュール全体のコードベースを掘り下げるか、SwiftmailerなどでHTMLメールを設定するのではなく、困惑しています。

どんな助けでも大歓迎です、何か詳細が必要な場合はお知らせください-これはコードやスクリーンショットなしで読むにはたくさんあることを知っています。

1
JDev518

これについてJDev518を使用した後、これが段落に関する権限の問題であることがわかりました。これで問題なく機能するはずでしたが、最終的に段落タイプの権限をインストールし、匿名の問題の段落フィールドを作成/編集/表示するための特定の権限を割り当てました。これにより、権限チェックが機能し、送信された値をただし、電子メールの作成時に、contactモジュールがこれらの段落フィールドの表示権限を決定していることが、この問題の原因のようです。

1
ben.hamelin