已发送邮件检查是否已送达并在 Laravel 中向收件人开放

Usm*_*eez 0 phpmailer swiftmailer laravel email-delivery laravel-mail

我想在帮助脚手架代码Laravel默认的邮件包发送电子邮件到收件人与检查状态或者邮件的增强交付给收件人,然后检查,要么收件人打开邮件或没有,然后更改该电子邮件的状态在我的db_email_list 中。我用谷歌搜索它来添加标题,就像按照示例一样,但无法获取如何获取状态

$message->getHeaders()->addTextHeader('X-Confirm-Reading-To','recipient_mail');

$sendEmail->getHeaders()->addTextHeader('Disposition-Notification-To','recipient_mail');

$sendEmail->getHeaders()->addTextHeader('Return-Receipt-To','recipient_mail');
Run Code Online (Sandbox Code Playgroud)

Leo*_*ent 6

当用户收到电子邮件时:只需使用这段代码:

if (count(Mail::failures())) {
    return false;
} else {
    return true;
}
Run Code Online (Sandbox Code Playgroud)

true=delivered, false=not delivered

当用户阅读电子邮件时:嗯,听起来你需要在电子邮件中包含一个技巧,以便知道用户是否打开/阅读了电子邮件,例如通过简单地添加在电子邮件中包含一个图像,并在您的末尾定义路由并通过用户 ID 作为查询参数。

<img src="http://www.example.com/user-read-email?user_id=20" />
Run Code Online (Sandbox Code Playgroud)

因此,每当用户打开电子邮件时,img src都会调用您的 url 并简单地user id从 url 中获取,并在 db 中为该用户设置标志。