Blame view

common/components/MailerComponent.php 1.93 KB
982be2a8   alex   Генерация мета те...
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
  <?php
  
  namespace common\components;
  
  use yii\base\Component;
  
  
  /**
   * =====================================================================================================================
   *      Компонент, созданный для того, чтобы обьявлять аналогичные по логике запросы с 1 места
   * =====================================================================================================================
   */
  class MailerComponent extends Component
  {
  
  	/**
  	 * Отправляет письмо админу по backend\models\Mail если такая запись есть
  	 * ***Если запись есть, но творится вакханалия с почтовым адресом, сервер начнёт валить Exception,
  	 *  а мы пишем нашему админу, что у них там почтовые настройки есть, но некорректы
  	 *
  	 * @param $mode 1|2|3|4
  	 *  1|2|3 ==> используется для site/callback
  	 *  4     ==> site/contact
  	 */
  	public static function sendListToAdminAfterSubmit(int $mode)
  	{
  		$mail = Mail::findOne(1);
  		if ($mail != null) {
  			$time = Visit::getTimeTitles($mode);
  			# если у них всё же почтовые настройки есть, НО письмо не может отправится,
  			# прокидываю сообщение об этом нам обратно
  			try {
  				\Yii::$app->mailer
  					->compose()
  					->setTo($mail->user)
  					->setSubject('Запись на прием: обратная связь')
  					->setTextBody('Пациент с тел: :' . $model->phone . " <br> просил перезвонить ему на протяжении " . $time)
  					->send();
  			} catch (\Exception $e) {
  				\Yii::error($mail->user . " - неполучается отправить письмо за указанным адресом", 'mail_error');
  			}
  
  		}
  	}
  
  
  }