-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmailmanager.php
71 lines (62 loc) · 2.41 KB
/
mailmanager.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
/**
* This file is part of InfectedAPI.
*
* Copyright (C) 2017 Infected <http://infected.no/>.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3.0 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require_once 'libraries/phpmailer/src/PHPMailer.php';
require_once 'libraries/phpmailer/src/Exception.php';
require_once 'settings.php';
require_once 'objects/user.php';
class MailManager {
/*
* Sends an email to the given user.
*/
public static function sendEmail(User $user, string $subject, string $message) {
// Is email support enabled?
if (Settings::enableEmail) {
// Create PHPMailer object.
$email = new PHPMailer(true);
try {
// Set sender and recipient.
$email->SetFrom(Settings::email, Settings::name);
$email->addAddress($user->getEmail(), $user->getFullName());
// Set to use HTML and UTF-8 as charset.
$email->isHTML(true); // Set email format to HTML
$email->CharSet = 'UTF-8'; // Set charset to UTF-8
$email->WordWrap = 70; // Set word wrap to 70 characters
// Create subject and body.
$email->Subject = $subject;
$email->Body = $message;
$email->AltBody = 'Denne e-posten krever en e-post klient som støtter visning av HTML innhold.';
// Sending the e-mail.
$email->send();
} catch (Exception $exception) {
echo 'Mailer Error: ' . $email->ErrorInfo;
}
}
}
/*
* Sends an email to all given users.
*/
public static function sendEmails(array $userList, string $subject, string $message) {
foreach ($userList as $user) {
self::sendEmail($user, $subject, $message);
}
}
}