forked from htmlacademy-php/27082-doingsdone-12
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnotify.php
69 lines (54 loc) · 2.19 KB
/
notify.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
<?php
/**
* @var mysqli $con подключение к базе
*/
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
require_once 'vendor/autoload.php';
require_once 'init_db.php';
use Symfony\Component\Mailer\Mailer;
use Symfony\Component\Mailer\Transport;
use Symfony\Component\Mime\Address;
use Symfony\Component\Mime\Email;
mysqli_set_charset($con, "utf8");
if ($con === false) {
print("Ошибка подключения: " . mysqli_connect_error());
}
$dsn = 'smtp://gunseo@yandex.ru:Wjl9VBip2QUjn@smtp.yandex.ru:465?encryption=ssl&auth_mode=login';
// Настройки SMTP
$transport = Transport::fromDsn($dsn);
$mailer = new Mailer($transport);
$today = date('Y-m-d');
$sql = "SELECT *, task.name AS task_name, users.name AS user_name FROM task
LEFT JOIN users ON task.user_id=users.id WHERE status=0 AND DATE_FORMAT(deadline, '%Y-%m-%d')=\"$today\"";
$res = mysqli_query($con, $sql);
$total = [];
if ($res && mysqli_num_rows($res)) {
$result = mysqli_fetch_all($res, MYSQLI_ASSOC);
foreach ($result as $value) {
$email = $value['email'];
if (!array_key_exists($email, $total)) {
$total[$email] = [
'user_name' => $value['user_name'],
'email' => $value['email'],
'task' => [],
];
}
$total[$email]['task'][] = $value['task_name'];
}
}
if ($total) {
foreach ($total as $userTask) {
$mailText = "\n" . 'Рассылка' . ' ' . 'Уважаемый пользователь, ' . $userTask['user_name'] . "\n" . 'У Вас запланирована задача - ' . "\n";
foreach ($userTask['task'] as $todayTask) {
$mailText .= $todayTask . ' на указанное число' . ' ' . $today . "\n";
}
$message = new Email();
$message->to($userTask['email']);
$message->from(new Address('gunseo@yandex.ru', 'keksobot'));
$message->subject('Рассылка' . ' ' . 'Уведомление от сервиса «Дела в порядке»' . ' ' . $userTask['user_name']);
$message->text($mailText);
$mailer->send($message);
}
}