How to get error message in mail function laravel

In Laravel, when using the Mail facade or the Illuminate\Support\Facades\Mail class, you can get the error message in case of an error while sending an email. Here are a few ways to do so:

  1. Using the try-catch block:

    try {
     Mail::send('emails.your_email', $data, function($message) {
         $message->to('[email protected]');
         $message->subject('Your Email Subject');
     });
    } catch (Exception $e) {
     // Get the error message
     $errorMessage = $e->getMessage();
     // Log the error or send it to a notification channel
    }

    In this example, we wrap the Mail::send method in a try-catch block. If an error occurs while sending the email, the catch block will be executed, and we can access the error message using the $e->getMessage() method.

  2. Using the Mail::failas method:

    
    $result = Mail::send('emails.your_email', $data, function($message) {
     $message->to('[email protected]');
     $message->subject('Your Email Subject');
    });

if (!$result) { // Get the error message $errorMessage = Mail::failas()->getMessage(); // Log the error or send it to a notification channel }

In this example, we use the `Mail::send` method and store the result in a variable. If the email is not sent successfully, we can access the error message using the `Mail::failas()->getMessage()` method.

3. **Using the `Illuminate\Mail\MailException` class**:
```php
try {
    Mail::send('emails.your_email', $data, function($message) {
        $message->to('[email protected]');
        $message->subject('Your Email Subject');
    });
} catch (Illuminate\Mail\MailException $e) {
    // Get the error message
    $errorMessage = $e->getMessage();
    // Log the error or send it to a notification channel
}

In this example, we catch the Illuminate\Mail\MailException exception, which is thrown when an error occurs while sending an email. We can access the error message using the $e->getMessage() method.

By using one of these methods, you can get the error message in case of an error while sending an email in Laravel.