From e06079e6af093c7824802fadddf8bfd8a3f1de96 Mon Sep 17 00:00:00 2001 From: osaajani <> Date: Sat, 3 Apr 2021 18:19:08 +0200 Subject: [PATCH] add mms files to mail transfert --- controllers/internals/Mailer.php | 4 +++- controllers/internals/User.php | 10 +++++++++- daemons/Mailer.php | 2 +- env.php.dist | 4 +++- templates/email/transfer-sms.php | 2 +- 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/controllers/internals/Mailer.php b/controllers/internals/Mailer.php index 2df5d3c..04d7204 100755 --- a/controllers/internals/Mailer.php +++ b/controllers/internals/Mailer.php @@ -101,10 +101,11 @@ class Mailer extends \descartes\Controller * @param string $destination : email address to send email to * @param array $settings : Email settings * @param array $data : Data to inject into email template + * @param array $attachments : List of paths of files to attach to the mail * * @return bool : true on success, false on error */ - public function enqueue(string $destination, array $settings, array $data): bool + public function enqueue(string $destination, array $settings, array $data, array $attachments = []): bool { $response = $this->generate_body($settings, $data); @@ -113,6 +114,7 @@ class Mailer extends \descartes\Controller 'subject' => $settings['subject'], 'body' => $response['body'], 'alt_body' => $response['alt_body'], + 'attachments' => $attachments, ]; $error_code = null; diff --git a/controllers/internals/User.php b/controllers/internals/User.php index b0b8eeb..427cceb 100644 --- a/controllers/internals/User.php +++ b/controllers/internals/User.php @@ -291,12 +291,20 @@ namespace controllers\internals; } $mailer = new Mailer(); + + $attachments = []; + + foreach ($received['medias'] ?? [] as $media) + { + $attachments[] = PWD_DATA_PUBLIC . '/' . $media['path']; + } return $mailer->enqueue($user['email'], EMAIL_TRANSFER_SMS, [ 'at' => $received['at'], 'origin' => $received['origin'], 'destination' => $phone['name'], 'text' => $received['text'], - ]); + 'mms' => $received['mms'] ?? false, + ], $attachments); } } diff --git a/daemons/Mailer.php b/daemons/Mailer.php index c9f1ac9..a25b253 100644 --- a/daemons/Mailer.php +++ b/daemons/Mailer.php @@ -74,7 +74,7 @@ class Mailer extends AbstractDaemon $this->logger->info('Try sending email : ' . json_encode($message)); $mailer = new \controllers\internals\Mailer(); - $success = $mailer->send($message['destinations'], $message['subject'], $message['body'], $message['alt_body']); + $success = $mailer->send($message['destinations'], $message['subject'], $message['body'], $message['alt_body'], $message['attachments']); if (!$success) { $this->logger->error('Failed sending email'); diff --git a/env.php.dist b/env.php.dist index dd77747..5aa3260 100644 --- a/env.php.dist +++ b/env.php.dist @@ -17,6 +17,8 @@ 'PWD_ADAPTERS' => PWD . '/adapters', 'PWD_DATA' => PWD . '/data', 'HTTP_PWD_DATA' => HTTP_PWD . '/data', + 'PWD_DATA_PUBLIC' => PWD . '/data/public', + 'HTTP_PWD_DATA_PUBLIC' => HTTP_PWD . '/data/public', 'PWD_LOGS' => '/var/log/raspisms', 'PWD_PID' => '/var/run/raspisms', 'APP_SECRET' => '%APP_SECRET%', @@ -67,7 +69,7 @@ 'preferred_phone_country' => 'fr,be,ca', 'default_phone_country' => 'fr', 'authorized_phone_country' => 'fr,be,ca', - 'mms' => 0, + 'mms' => 1, ], ]; diff --git a/templates/email/transfer-sms.php b/templates/email/transfer-sms.php index e75a0a9..9b5612d 100644 --- a/templates/email/transfer-sms.php +++ b/templates/email/transfer-sms.php @@ -1,4 +1,4 @@ -Vous avez reçu un nouveau SMS : +Vous avez reçu un nouveau : Date : Origine :