src/Service/MailService.php line 11

Open in your IDE?
  1. <?php
  2. namespace App\Service;
  3. use SendinBlue\Client\Api\TransactionalEmailsApi;
  4. class MailService
  5. {
  6.     private TransactionalEmailsApi $apiInstance;
  7.     private string $API_KEY "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";
  8.     public function __construct()
  9.     {
  10.         $config \SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKey('api-key'$this->API_KEY);
  11.         $config \SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKey('partner-key'$this->API_KEY);
  12.         $this->apiInstance = new TransactionalEmailsApi(
  13.             new \GuzzleHttp\Client(),
  14.             $config
  15.         );
  16.     }
  17.     public function sendTransacEmail(string $fromstring $from_namemixed $destinatairestring $contentstring $subject, ?string $cc null): void
  18.     {
  19.         $params = [];
  20.         if (is_array($destinataire)) {
  21.             $params['to'] = $destinataire;
  22.         } else {
  23.             $params['to'] = [['name' => $destinataire'email' => $destinataire]];
  24.         }
  25.         if ($cc != null) {
  26.             $params['cc'] = [['name' => $cc'email' => $cc]];
  27.         }
  28.         $params['sender'] = ['name' => $from_name'email' => $from];
  29.         $params['htmlContent'] = $content;
  30.         $params['textContent'] = $content;
  31.         $params['subject'] = $subject;
  32.         $sendSmtpEmail = new \SendinBlue\Client\Model\SendSmtpEmail($params); // \SendinBlue\Client\Model\SendSmtpEmail | Values to send a transactional email
  33.         try {
  34.             $result $this->apiInstance->sendTransacEmail($sendSmtpEmail);
  35.         } catch (\Exception) {
  36.         }
  37.     }
  38.     public function send(string $templateIdstring $destinatairemixed $attributes = []): void
  39.     {
  40.         $params = [];
  41.         $params['to'] = [['name' => $destinataire'email' => $destinataire]];
  42.         $params['templateId'] = $templateId;
  43.         if (!empty($attributes)) {
  44.             $params['params'] = $attributes;
  45.         }
  46.         //if(!empty($params_dynamique)){$params['params'] = $params_dynamique;}
  47.         $sendEmail = new \SendinBlue\Client\Model\SendSmtpEmail(
  48.             $params
  49.         );
  50.         try {
  51.             $result $this->apiInstance->sendTransacEmail($sendEmail);
  52.         } catch (\Exception) {
  53.         }
  54.     }
  55. }