<?php
// Fast drush test:
// drush ev "\Drupal::service('plugin.manager.mail')->mail('test', 'key', 'raerayan@gmail.com', 'en', ['subject' => 'test email', 'message' => 'test smtp'], NULL, TRUE)";
function some_func() {
$content = '';
$file = [
'filename' => 'contract.pdf',
'filemime' => 'application/pdf',
'filecontent' => $content
];
$params['message'] = 'test smtp';
$params['subject'] = 'title';
$params['attachments'][] = $file;
$res = \Drupal::service('plugin.manager.mail')->mail('module_name', 'custom_key', 'raerayan@gmail.com', 'en', $params, NULL, TRUE);
}
<?php
/**
* Implements hook_mail().
*/
function hook_mail($key, &$message, $params) {
switch ($key) {
case 'custom_key':
$message['subject'] = $params['subject'];
$message['body'][] = $params['message'];
$message['headers'] = [
'MIME-Version' => '1.0',
'Content-Type' => 'text/html; charset=UTF-8; format=flowed; delsp=yes',
'Content-Transfer-Encoding' => '8Bit',
'From' => \Drupal::config('system.site')->get('mail'),
];
//$message['params']['attachments'][] = $params['attachments'];
break;
}
}