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