How To Create a Custom Webform Handler In Drupal
Alter the webform submission behaviour in a simple way
When you use webforms in Drupal, the default behaviour doesn’t allow you to check whether an e-mail has been sent or not. On one side, the webform submission is created and stored; on the other, the e-mail is sent. They’re decoupled processes.
But, like it was my case, maybe you need to do both simultaneously. All you have to do is create your own handler and replace it with the existing one in your webform.
To do so, you have to create a custom module (or edit an existing one) and create a file CustomEmailHandler.php (you can put another name, but has to be the same as the class name) in custom_module/src/Plugin/WebformHandler (replacing custom_module with your module name).
As you can see in this custom handler, it creates two fields in the handler configuration to change the confirmation and exception messages.
<?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 Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\Core\Render\Markup;
use…