Question

Il y a plusieurs modules qui envoient un courriel mon site: Règles, Trigger, utilisateur, ...

Je cherche un endroit pour définir un drupal_set_message() et imprimer le contenu du courrier électronique. Où dans le code serait le meilleur endroit pour cela?

Était-ce utile?

La solution

Vous pouvez utiliser hook_mail_alter() obtenir (et modifier) ??le contenu d'un message électronique avant qu'il ne soit envoyé:

function mymodule_mail_alter(&$message) {
  dpm($message);
}

Une chose à garder à l'esprit est que tous les modules utilisent drupal_mail() , la fonction qui va appeler hook_mail_alter(), pour diverses raisons. Dans ce cas, vous devrez identifier où dans le code du module courrier est envoyé et voir si elles fournissent leurs propres crochets alter: look pour les fonctions drupal_alter('foo') (via hook_foo_alter()), module_implements('foo'), module_invoke('foo') ou module_invoke_all('foo') (tous mis en œuvre par hook_foo()).

A défaut, vous pouvez avoir à ajouter temporairement l'appel dpm() directement au module au bon endroit.

Licencié sous: CC-BY-SA avec attribution
Non affilié à drupal.stackexchange
scroll top