PHP Исключение с symfony почтовой программой - PullRequest
0 голосов
/ 10 июля 2020

Я новичок с Symfony, и мне нужно установить почтовую программу в свой веб-сервис. Но у меня есть исключение php, которое я не понимаю.

Есть моя почтовая функция:

 private function sendMail(MailerInterface $mailer, $p_leTI, $mail)
          {
             $pole = $p_leTI['pole'];
             $type = $pole === 1 ? 'Logiciel' : ($pole === 2 ? 'Matériel' : 'Incident');
             $client = $p_leTI['nomCli'];
             $email = (new Email())
                 ->from(new Address('random@gmail.com', 'Support Idéation Informatique'))
                 ->to(new Address('random@gmail.com'))
                 ->bcc(new Address('random@gmail.com'))
                 ->subject("Ticket $type Site: $client")
                 ->text("Client: $client\r\nObservation: {$p_leTI['OBSERVATION']}")
                 ->html("<html lang='fr'>
                     <body>
                         <p>Demandeur: {$p_leTI['nomCli']}</p>
                         <p>Description: {$p_leTI['OBSERVATION']}</p>
                         <p>Téléphone: {$p_leTI['TEL']}</p>
                         <p>Email: {$p_leTI['EMAILCLIENT']}</p>
                     </body>
                 </html>");
             $mailer->send($email);

             $email = (new TemplatedEmail())
                 ->from(new Address('random@gmail.com', 'Support Idéation Informatique'))
                 ->bcc(new Address('random@gmail.com'))
                 ->subject("Idéation Informatique - Votre demande a bien été enregistrée (Ticket n°" . $$p_leTI['IDTICKETINCIDENT'] . ")");
             if (!empty($mail))
                 try {
                     $email->to(new Address($mail));
                 } catch (Exception $e) {
                     
                 }


             $email->htmlTemplate('emails/mail.html.twig')
                 ->context([
                     'client' => $client,
                     'idticket' => $p_leTI['IDTICKETINCIDENT'],
                     'observation' => $p_leTI['OBSERVATION']
                 ])
                 ->text("Ouverture du ticket incident n°" . $p_leTI['IDTICKETINCIDENT'] . "\r\n" . $p_leTI['OBSERVATION']);

             $mailer->send($email);
             return true;
          }

И в моем журнале есть ошибка:

PHP Exception Symfony\Component\DependencyInjection\Exception\EnvNotFoundException: "Environment variable not found: "MAILER_DSN"."dency-injection/EnvVarProcessor.php

EnvVarProcessor. php - это файл, с которым я никогда не работал, поэтому я не понимаю, например, я сказал, что я новичок, поэтому, возможно, я что-то забыл.

Спасибо за вашу помощь .

1 Ответ

2 голосов
/ 10 июля 2020

Вы должны установить параметры того, как ваши письма должны отправляться через переменную среды (есть много вариантов, но есть несколько распространенных способов).

Самый простой как описано для обновления файла .env с помощью:

MAILER_DSN=smtp://user:pass@smtp.example.com:port

Комментарий: EnvVarProcessor.php - это просто компонент для установки переменных env в контейнере Symfony на основе различных параметров, которые нужно установить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...