982be2a8
alex
Генерация мета те...
|
1
2
3
4
5
|
<?php
namespace common\components;
use yii\base\Component;
|
82a18a27
alex
Mailer 1
|
6
7
8
9
10
|
use common\models\Visit;
use backend\models\Mail;
use common\models\Settings;
|
982be2a8
alex
Генерация мета те...
|
11
12
13
14
|
/**
* =====================================================================================================================
|
82a18a27
alex
Mailer 1
|
15
|
* Компонент, созданный для того, чтобы обьявлять аналогичные по логике письма с 1 места
|
982be2a8
alex
Генерация мета те...
|
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
* =====================================================================================================================
*/
class MailerComponent extends Component
{
/**
* Отправляет письмо админу по backend\models\Mail если такая запись есть
* ***Если запись есть, но творится вакханалия с почтовым адресом, сервер начнёт валить Exception,
* а мы пишем нашему админу, что у них там почтовые настройки есть, но некорректы
*
* @param $mode 1|2|3|4
* 1|2|3 ==> используется для site/callback
* 4 ==> site/contact
*/
|
82a18a27
alex
Mailer 1
|
30
|
public static function sendListToAdminAfterSubmit(int $mode, array $params = [])
|
982be2a8
alex
Генерация мета те...
|
31
|
{
|
3f02ce88
Anastasia
send email
|
32
|
|
982be2a8
alex
Генерация мета те...
|
33
|
$time = Visit::getTimeTitles($mode);
|
82a18a27
alex
Mailer 1
|
34
|
$settings = Settings::getInstance();
|
0428137c
alex
Mail fix 2
|
35
|
$mail = Mail::findOne(1);
|
dd468c5e
alex
Mail fix 2
|
36
37
38
39
40
41
|
$moreMail = explode(';', $mail->user);
$setTo = [$settings->email];
if (!empty($moreMail)) {
$setTo = array_merge($setTo, $moreMail);
}
|
0428137c
alex
Mail fix 2
|
42
|
|
982be2a8
alex
Генерация мета те...
|
43
44
45
|
# если у них всё же почтовые настройки есть, НО письмо не может отправится,
# прокидываю сообщение об этом нам обратно
try {
|
3f02ce88
Anastasia
send email
|
46
|
if (!empty($settings->email)) {
|
14b9ed76
alex
Mail fix 3
|
47
48
|
$mail1 = \Yii::$app->mailer
->compose()
|
3f02ce88
Anastasia
send email
|
49
|
->setFrom($settings->email)
|
0428137c
alex
Mail fix 2
|
50
|
->setTo($setTo)
|
14b9ed76
alex
Mail fix 3
|
51
52
53
54
55
56
57
58
59
60
|
->setSubject('Запись на прием: обратная связь')
->setTextBody('Контакт пациента: :' . $params['user_data'] . " просил перезвонить ему " . $time);
if ($mail1->send() == false) {
\Yii::info(\Yii::$app->params['artwebAdminEmail'] . " - неполучается отправить письмо за указанным адресом", 'mail_error');
}
}
|
982be2a8
alex
Генерация мета те...
|
61
|
} catch (\Exception $e) {
|
bf086795
alex
Mail fix 2
|
62
|
\Yii::error(\Yii::$app->params['artwebAdminEmail'] . " - неполучается отправить письмо за указанным адресом", 'mail_error');
|
982be2a8
alex
Генерация мета те...
|
63
64
|
}
|
3f02ce88
Anastasia
send email
|
65
|
|
982be2a8
alex
Генерация мета те...
|
66
67
68
69
|
}
}
|