This CodeLet Sends an email after a node of specific content type is created. The CodeLet uses Drupal8 API which sends and email upon node creation. This CodeLet implement hook_entity_insert & hook_mail.
Place this CodeLet on your MYMODULE.module file.
CodeLet
<?php//Add this line to the top of the MYMODULE.module file.use Drupal\Component\Utility\SafeMarkup;/** * Implements hook_mail(). */function MYMODULE_mail($key, &$message, $params) { $options = array( 'langcode' => $message['langcode'], ); switch ($key) { case 'node_insert_alert': $message['from'] = \Drupal::config('system.site')->get('mail'); $message['subject'] = t('Ticket created: @title', array('@title' => $params['node_title']), $options); $message['body'][] = SafeMarkup::checkPlain($params['message']); break; }}/** * Implements hook_entity_insert(). */function MYMODULE_entity_insert(Drupal\Core\Entity\EntityInterface $entity) { if ($entity->getEntityTypeId() !== 'node' || ($entity->getEntityTypeId() === 'node' && $entity->bundle() !== 'CONTENT_TYPE')) { return; } $mailManager = \Drupal::service('plugin.manager.mail'); $module = 'MYMODULE'; $key = 'node_insert_alert'; $to = 'To mail '; // email to be sent to this Email ID $params['message'] = "Message"; $params['node_title'] = $entity->label(); $langcode = \Drupal::currentUser()->getPreferredLangcode(); $send = true; $result = $mailManager->mail($module, $key, $to, $langcode, $params, NULL, $send); if ($result['result'] !== true) { $message = t('There was a problem sending alert email notification to @email for creating ticket @id.', array('@email' => $to, '@id' => $entity->id())); //drupal dblog \Drupal::logger('MYMODULE alert')->error($message); return; } $message = t('An email notification has been sent to @email for creating node @id.', array('@email' => $to, '@id' => $entity->id())); //drupal dblog \Drupal::logger('MYMODULE alert')->notice($message);}?>