PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
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 4 months ago MailgunService.php 3 months ago OutlookMiddlewareService.php 4 months ago OutlookService.php 6 months ago PHPMailService.php 6 months ago SMTPService.php 6 months ago WpMailService.php 6 months ago
PHPMailService.php
63 lines
1 <?php
2
3 /**
4 * @copyright © Melograno Ventures. 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 AmeliaVendor\PHPMailer\PHPMailer\Exception;
13 use AmeliaVendor\PHPMailer\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