web-dev-qa-db-fra.com

Utiliser mimemail pour envoyer des e-mails HTML avec drupal_mail

Problème

J'essaie d'envoyer des e-mails HTML à partir d'un module. J'utilise le drupal_mail fonction pour envoyer les e-mails.

Il n'est pas possible d'envoyer des e-mails HTML avec juste drupal_mail (voir ici ), et j'ai installé Mimemail. Cependant, l'e-mail est toujours supprimé de toutes les balises HTML.

Dois-je faire des appels supplémentaires dans le modèle d'e-mail ou y a-t-il autre chose que j'ai oublié?

Configuration

Système de messagerie

  • format () - système mimemail
  • mail () - module SMTP

Mimemail

  • Format de l'e-mail: HTML filtré (mon HTML filtré permet <p> et <br> Mots clés.
  • Inclure toutes les feuilles de style du site.

Module SMTP

  • Autoriser les e-mails au format 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

Il s'avère que le courrier électronique HTML était activé en fait. Le problème était les feuilles de style avec lesquelles l'e-mail était fourni.

Si vous vous dirigez vers admin/config/system/mimemail vous pouvez choisir de regrouper l'e-mail avec les feuilles de style de votre site Web ou de configurer un mail.css dans votre répertoire de thème par défaut.

Je soupçonne que si vous utilisez un sous-thème et que vous n'avez pas mail.css, il utilisera simplement le thème mail.css d'origine qui n'est probablement pas ce que vous voulez.

3
Dominic Woodman