Skip to content

Commit 60cbbad

Browse files
[12.x] Add the failed method to queued mailables. (#10518)
* Add the failed method to queued mailables. * formatting --------- Co-authored-by: Taylor Otwell <taylor@laravel.com>
1 parent 46c1347 commit 60cbbad

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

mail.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1076,6 +1076,33 @@ class OrderShipped extends Mailable implements ShouldQueue
10761076
> [!NOTE]
10771077
> To learn more about working around these issues, please review the documentation regarding [queued jobs and database transactions](/docs/{{version}}/queues#jobs-and-database-transactions).
10781078
1079+
<a name="queued-email-failures"></a>
1080+
#### Queued Email Failures
1081+
1082+
When a queued email fails, the `failed` method on the queued mailable class will be invoked if it has been defined. The `Throwable` instance that caused the queued email to fail will be passed to the `failed` method:
1083+
1084+
```php
1085+
<?php
1086+
1087+
namespace App\Mail;
1088+
1089+
use Illuminate\Contracts\Queue\ShouldQueue;
1090+
use Illuminate\Mail\Mailable;
1091+
use Illuminate\Queue\SerializesModels;
1092+
use Throwable;
1093+
1094+
class OrderDelayed extends Mailable implements ShouldQueue
1095+
{
1096+
/**
1097+
* Handle a queued email's failure.
1098+
*/
1099+
public function failed(Throwable $exception): void
1100+
{
1101+
// ...
1102+
}
1103+
}
1104+
```
1105+
10791106
<a name="rendering-mailables"></a>
10801107
## Rendering Mailables
10811108

0 commit comments

Comments
 (0)