PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.27
Booking for Appointments and Events Calendar – Amelia v1.2.27
2.4.9 2.4.8 2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Infrastructure / Services / Notification / PHPMailService.php
ameliabooking / src / Infrastructure / Services / Notification Last commit date
MailerFactory.php 1 year ago MailgunService.php 1 year ago OutlookService.php 1 year ago PHPMailService.php 1 year ago SMTPService.php 1 year ago WpMailService.php 1 year ago
PHPMailService.php
63 lines
1 <?php
2
3 /**
4 * @copyright © TMS-Plugins. All rights reserved.
5 * @licence See LICENCE.md for license details.
6 */
7
8 namespace AmeliaBooking\Infrastructure\Services\Notification;
9
10 use AmeliaBooking\Domain\Services\Notification\AbstractMailService;
11 use AmeliaBooking\Domain\Services\Notification\MailServiceInterface;
12 use AmeliaPHPMailer\PHPMailer\Exception;
13 use AmeliaPHPMailer\PHPMailer\PHPMailer;
14
15 /**
16 * Class PHPMailService
17 */
18 class PHPMailService extends AbstractMailService implements MailServiceInterface
19 {
20 /** @noinspection MoreThanThreeArgumentsInspection */
21 /**
22 * @param $to
23 * @param $subject
24 * @param $body
25 * @param array $bccEmails
26 * @param array $attachments
27 *
28 * @return mixed|void
29 * @throws Exception
30 * @SuppressWarnings(PHPMD)
31 */
32 public function send($to, $subject, $body, $bccEmails = [], $attachments = [])
33 {
34 $mail = new PHPMailer(true);
35
36 try {
37 //Recipients
38 $mail->setFrom($this->from, $this->fromName);
39 $mail->addAddress($to);
40 $mail->addReplyTo(!empty($this->replyTo) ? $this->replyTo : $this->from);
41 foreach ($bccEmails as $bccEmail) {
42 $mail->addBCC($bccEmail);
43 }
44
45 foreach ($attachments as $attachment) {
46 if (!empty($attachment['content'])) {
47 $mail->addStringAttachment($attachment['content'], $attachment['name'], 'base64', $attachment['type']);
48 }
49 }
50
51 //Content
52 $mail->CharSet = 'UTF-8';
53 $mail->isHTML();
54 $mail->Subject = $subject;
55 $mail->Body = $body;
56
57 $mail->send();
58 } catch (Exception $e) {
59 throw $e;
60 }
61 }
62 }
63