web-dev-qa-db-ja.com

Drupal 7 webformモジュールがメールを正しく送信していません

私のDrupal 7サイトでこのモジュールを有効にしています:

MIMEメールでメールを「フォーマット」し、SMTP認証で「メール」するようにメールシステムを構成しました。この構成は、サイト全体のデフォルトクラスとして設定されます。

登録ユーザーのメールには問題なく機能しますが、ウェブフォームでメールを送信する場合、その設定は使用されません(ローカルのSMTPでメールを送信します)。

どうすればwebformにメールシステム設定を取得させることができますか?

これは私がやったことです:

  1. Amazon eseサービスでメールを送信するためのsmtpモジュールと設定をインストールします。 (このモジュールのテストオプションを使用すると、正常に機能していました)

  2. HTMLメールを送信する必要があるため、「MIMEメール」と「メールシステム」モジュールをインストールしました

  3. 両方のモジュールを有効にした後、次のように「メールシステム」モジュールでクラスを作成しました。

    • 以下を使用してクラスを作成します。

      format:MimeMailSystem

      mail:SmtpMailSystem

    • その後、新しいクラスを以下に適用します。

      サイト全体のデフォルトクラス

      MIMEメールモジュールクラス

  4. 登録後のメールで結果をテストしました(これは問題なく動作し、AmazonはHTMLメールでsesしました)

  5. インストールされた「webform」モジュールとお問い合わせフォームを作成

  6. Webフォームがメールを送信していますが、smtp設定を使用していません。ローカルのsendmailサーバーを使用しています(電子メールがフィッシングの可能性があることが検出され、電子メールのヘッダーを調べたところ、これに気付きました)。

  7. これはこのように機能するべきではなく、「メールシステム」で定義されたサイト全体のデフォルトクラスを使用する必要があります。

  8. 登録後のメールはまだ機能しています

5
Jaime Rivera

私は問題の解決策を見つけました、ところでそれは本当に簡単です。これが他の誰かに役立つことを願っています。

私たちに必要なのは次の場所に行くことです:

admin/config/system/mailsystem

次に「新規設定」リンクを押し、コンボボックスで「Webフォーム」を選択し、「キー」フィールドを空のままにして構成を保存します。

次に、画像に示すように新しいオプションが有効になります。

New option

次に、Webformモジュールに適切なクラスを選択して保存するだけです。

これですべてです。これは他のモジュールでも機能するはずです。

7
Jaime Rivera