web-dev-qa-db-ja.com

mimemailを使用してdrupal_mailでHTMLメールを送信する

問題

モジュールからHTMLメールを送信しようとしています。 drupal_mail関数を使用してメールを送信しています。

Drupal_mail( こちら を参照)だけでHTMLメールを送信することはできません。Mimemailをインストールしました。ただし、電子メールではすべてのHTMLタグが取り除かれています。

メールテンプレートで追加の呼び出しを行う必要がありますか、それとも他に忘れていたものがありますか?

セットアップ

メールシステム

  • format()-mimemailシステム
  • mail()-SMTPモジュール

Mimemail

  • メール形式:フィルタリングされたHTML(フィルタリングされたHTMLでは<p>および<br>タグを使用できます。
  • すべてのサイトスタイルシートを含めます。

SMTPモジュール

  • HTML形式のメールを許可する

drupal_mail

tellafriend_mail($key, &$message, $params) {

  $message['headers']['MIME-Version'] = '1.0';
  $message['headers']['Content-Type'] = 'multipart/mixed;';
  $message['headers']['Content-Type'] = 'text/html;';
  $message['subject'] = t('This is a test email');

  $message['body'][] = t("This is a test email")."<p></p><p>".t("This should be a new paragraph.")."</p><p></p><p>".t("And a third paragraph.")."</p>";
  $message['params']['attachments'] = $params; 
  }   
5
Dominic Woodman

結局のところ、HTMLメールはそのまま有効になっています。問題は、メールがバンドルされているスタイルシートでした。

admin/config/system/mimemailにアクセスする場合は、メールをWebサイトのスタイルシートにバンドルするか、デフォルトのテーマディレクトリにmail.cssを設定するかを選択できます。

サブテーマを使用していて、mail.cssがない場合は、元のテーマのmail.cssを使用するだけで、おそらく望んでいないものになると思います。

3
Dominic Woodman