如何检查我从laravel发送的邮件是否已送达收件人?

问题描述 投票:0回答:1

我搜索了整个互联网,但没有发现我的问题。我在我的项目中使用 laravel 10 来发送批量邮件。 Laravel 正在将邮件发送到提供的邮箱。但问题是 有没有办法检查邮件是否成功发送给收件人的状态?

我在许多论坛中找到了使用 Mail::failures() 的解决方案。但是这个方法在laravel中已经不可用了。那么,获取邮件是否已送达收件人的状态的正确方法是什么?请帮忙。

我在控制器中的代码:

try {
            foreach ($emails as $key => $email) {


                $result = Mail::to($email)->send(new MarketingMail($email_content));
            }
            
        } catch (Exception $e) {
            return response()->json([
                'message' => 'Email not valid',
                'status' => 500
            ], 500);
        }
laravel smtp laravel-10
1个回答
0
投票

一种流行的营销方法,其中包含带有自定义 URL 的电子邮件图像。此 URL 已在您的路由中注册,并将电子邮件标记为已发送,然后返回图像。

例如

Route::get('/images/email-delivered-event/{email_id_or_any_identifier}', function ($email_id_or_any_identifier) {
    $model = YourModel::findOrFail($email_id_or_any_identifier);
    $model->is_delivered = true;
    $model->save();
    // Or Consider this as an event listener to your email delivered event you can use any action

    // aslo you can return an empty response
});

您生成的图像 URL 应如下所示

https://yourdomain.com/images/email-delivered-event/4356349859348759

请注意,某些邮件客户端默认情况下不显示图像,这对他们不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.