EmailService.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Services;
  3. use App\Mail\EmailReceipt;
  4. use App\Mail\ProviderApprovedMail;
  5. use App\Mail\SendCodeMail;
  6. use Illuminate\Support\Facades\Mail;
  7. class EmailService
  8. {
  9. /**
  10. * Envia o e-mail com o código de verificação para o usuário.
  11. *
  12. * @param string $email Endereço de e-mail do destinatário.
  13. * @param string $code Código de 6 dígitos gerado.
  14. * @param string $recipientName Nome do destinatário (opcional).
  15. */
  16. public function sendVerificationCode(string $email, string $code, string $recipientName = ''): void
  17. {
  18. Mail::to($email)->send(new SendCodeMail($code, $recipientName));
  19. }
  20. public function sendProviderApproved(string $email, string $recipientName = '', ?string $locale = null): void
  21. {
  22. $pendingMail = Mail::to($email);
  23. if (! empty($locale)) {
  24. $pendingMail->locale($locale);
  25. }
  26. $pendingMail->send(new ProviderApprovedMail($recipientName));
  27. }
  28. public function sendEmailReceipt(
  29. string $email,
  30. object $schedule,
  31. string $client_name,
  32. string $service_date,
  33. string $start_time,
  34. string $end_time,
  35. string $address,
  36. string $total_amount,
  37. string $service_fee,
  38. string $final_amount,
  39. string $payment_method): void
  40. {
  41. Mail::to($email)->send(new EmailReceipt($schedule, $client_name, $service_date, $start_time, $end_time, $address, $total_amount, $service_fee, $final_amount, $payment_method));
  42. }
  43. }