Alter Webform email body

Drupal Answers Asked by LUS on February 6, 2021

I’m unable to find an example of altering the body of the Webform email confirmation according to the value submitted.
I’ve got in my form a select field, I would like to change the body of the email according to the selected value (not only include the value in the body but change completely the message).

I have thought about something like this but not sure if it works (unable to test at the moment, sorry):

 if (isset($message['params']['email']['eid']) && $message['params']['email']['eid'] != 1) {
      if ($message['params']['submission']->data[1][0] == 'company') {
        $message['body'][0] = 'Thank you .. bla bla.
        Bla bla bla.

Or is it possible to do in form_alter hook or maybe some module ?

One Answer

You can use hook_mail_alter to alter the body of the mail:
Something like

 * Implements hook_mail_alter().
function YOURMODULENAME_mail_alter(&$message) {
  // Check here for your mail key
  if ($message['id'] == 'modulename_messagekey') {
    $message['body'][] = 'Thank you .. bla bla.
        Bla bla bla.

Check here for more exemples in comments.

Answered by berramou on February 6, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP