領収証発行サービス
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

44 lignes
983B

  1. <?php
  2. namespace App\Mail;
  3. use App\Middlewares\Now;
  4. use App\Models\Email;
  5. use App\Util\DateUtil;
  6. use Exception;
  7. use Illuminate\Support\Facades\Log;
  8. use Illuminate\Support\Facades\Mail;
  9. class Sender
  10. {
  11. public static function send(string $emailId)
  12. {
  13. $email = Email::findOrFail($emailId);
  14. info("メール送信", [
  15. 'id' => $email->id,
  16. 'email' => $email->email,
  17. 'mailer' => $email->type,
  18. ]);
  19. try {
  20. Mail::to($email->email)
  21. ->send(new TextMail($email->subject, $email->content));
  22. } catch (Exception $e) {
  23. Log::error("メール送信失敗", [
  24. 'id' => $email->id,
  25. 'email' => $email->email,
  26. 'mailer' => $email->type,
  27. ]);
  28. $email->is_failed = true;
  29. $email->save();
  30. throw $e;
  31. }
  32. $email->send_datetime = DateUtil::now();
  33. $email->save();
  34. }
  35. }