Создайте pdf файл на ходу и отправьте через swiftmailer

100
11

Я пытаюсь создать PDF файл с TCPDF и отправить его через SwiftMailer, поскольку Drupal Mail не разрешает вложения. Это мой текущий код:

public function getPdfReport($document){
$html = '<head>'.document["body"].'</head>'.'<body>'.document["head"].'</body>';
$tcpdf = tcpdf_get_instance();
$tcpdf->DrupalInitialize(array(
'footer' => array(
'html' => 'This is a test!! <em>Bottom of the page</em>',
),
'header' => array(
'callback' => array(
'function' => 'tcpdf_example_default_header',
'context' => array(
'welcome_message' => 'Hello, tcpdf example!',
),
),
),
));
$tcpdf->writeHTML($document);

return $pdf->Output('', 'S');
}
public function sendReportEmail($name,$to, $langcode,$attachment){
$mailManager = \Drupal::service('plugin.manager.mail');
$send = true;
$module = 'order';
$key = 'updated_password';

$result = $mailManager->mail($module, $key, $to, $langcode, $this->getEmail($langcode, $name, $attachment), NULL, true);
}
private function getEmail($lang, $name,$attachment){
$message = null;
$pdfFile = new stdClass();
$pdfFile->uri = $this->getPdfReport($attachment);
$pdfFile->filename = 'EVG_invoice.pdf';
$pdfFile->filemime = 'application/pdf';
$message["files"] = $pdfFile;
if($lang=="en"){
$message["message"] = "
Dear ".$name.",

You successfully completed your online order.
Attached you can find a summary of your order.
Please print attached file and send it with your samples.";

$message["title"] = "order summary";}
return $message;
}

Я что-то упустил? SwiftMailer устанавливается по умолчанию в Drupal. Ключи и модуль также хороши.

спросил(а) 2017-05-01T11:10:00+03:00 3 года, 5 месяцев назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема