Pregunta

Hay varios módulos que el correo electrónico de envío desde mi sitio: Reglas, Gatillo, usuario, ...

Estoy buscando un lugar para establecer un drupal_set_message() e imprimir el contenido de correo electrónico. En qué parte del código sería el mejor lugar para eso?

¿Fue útil?

Solución

Se puede usar hook_mail_alter() a obtener (y modificar) el contenido de un mensaje de correo electrónico antes de que sea enviada:

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

Una cosa a tener en cuenta es que no todos los módulos utilizan drupal_mail() , la función que va a llamar hook_mail_alter(), por diversas razones. En ese caso, tendrá que identificar dónde en el código del módulo, el correo se envía hacia fuera y ver si proporcionan sus propios ganchos alter: mirada para las funciones de drupal_alter('foo') (implementado a través de hook_foo_alter()), module_implements('foo'), module_invoke('foo') o module_invoke_all('foo') (todo implementado por hook_foo()).

De no ser así, puede que tenga que añadir temporalmente la llamada dpm() directamente al módulo en el lugar correcto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a drupal.stackexchange
scroll top