SendGridQueue.php in SendGrid Integration 8.2
File
src/Plugin/QueueWorker/SendGridQueue.php
View source
<?php
namespace Drupal\sendgrid_integration\Plugin\QueueWorker;
use Drupal\Core\Mail\MailManagerInterface;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\Core\Queue\QueueWorkerBase;
use Symfony\Component\DependencyInjection\ContainerInterface;
class SendGridQueue extends QueueWorkerBase implements ContainerFactoryPluginInterface {
protected $mailManager;
public function __construct(array $configuration, $plugin_id, $plugin_definition, MailManagerInterface $mailManager) {
$this->mailManager = $mailManager;
parent::__construct($configuration, $plugin_id, $plugin_definition);
}
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $container
->get('plugin.manager.mail'));
}
public function processItem($message) {
$module = $message['module'];
$key = $message['key'];
$to = $message['to'];
$language = $message['language'];
$params = $message['params'];
$from = $message['from'];
$send = $message['send'];
$this->mailManager
->mail($module, $key, $to, $language, $params, $from, $send);
}
}