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

时间:2018-06-09 11:00:35

标签: laravel phpmailer swiftmailer laravel-mail email-delivery

我希望脚手架代码中的帮助 Laravel 默认邮件包向收件人发送一封电子邮件,其中包含一项增强功能,可检查邮件已发送<的状态/ strong>收件人,然后检查收件人是否打开邮件,然后在 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');

1 个答案:

答案 0 :(得分:2)

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

if (count(Mail::failures())) {
    return false;
} else {
    return true;
}

true=deliveredfalse=not delivered

当用户阅读电子邮件时:听起来您需要在电子邮件中添加一个技巧,以便知道用户是否已打开/阅读电子邮件,只需添加例如包含图片的电子邮件电子邮件,其中包含您在最后定义的路由,并将用户ID作为查询参数传递。

<img src="http://www.example.com/user-read-email?user_id=20" />

因此,每当用户打开电子邮件时,img src将触发对您网址的调用,并从网址获取user id,并在db中为该用户设置标记。