Cómo Crear Un Webform Handler Personalizado en Drupal
Modifica el comportamiento de envío del formulario de una manera sencilla
Cuando se utilizan webforms en Drupal, el comportamiento predeterminado no permite comprobar si se ha enviado un correo electrónico o no. Por un lado, se crea y almacena el envío del formulario; por otro, se envía el correo electrónico. Son procesos desacoplados.
Pero, como fue mi caso, tal vez necesites hacer ambas cosas simultáneamente. Todo lo que tienes que hacer es crear tu propio handler y reemplazarlo con el existente en tu webform.
Para ello, debes crear un módulo personalizado (o editar uno existente) y crear un archivo CustomEmailHandler.php (puedes poner otro nombre, pero tiene que ser el mismo que el nombre de la clase) en custom_module/src/Plugin/WebformHandler (reemplazando custom_module con el nombre de tu módulo).
Como puedes ver en este handler personalizado, está creando dos campos en la configuración del handler para cambiar los mensajes de confirmación y error.
<?php
namespace Drupal\custom_module\Plugin\WebformHandler;
use Drupal\webform\Plugin\WebformHandlerBase;
use Drupal\Core\Form\FormStateInterface;
use Drupal\webform\WebformSubmissionInterface;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use…