如何让Mandrill将收件人的电子邮件放入取消订阅URL

时间:2014-08-29 11:46:51

标签: php codeigniter email-integration mandrill unsubscribe

首先,我知道Mandrill有自己的方式来处理取消订阅,"Adding a link with the unsubscribe merge tag"。但它会将未订阅的用户存储在该帐户中,如果向该收件人发送简报和通知,则会拒绝

所以我有这个代码部分,它与foreach循环分别发送给每个收件人并分别发送每封邮件:

foreach($subscribers as $subscribersRow){
   $to =  $subscribersRow['usr_email'];
   $message .= '<br/><br/><a href="'.site_url('unsubscribe').'/?email='.urlencode($to).'">Click here to unsubscribe.</a>';

然而,Mandrill在发送类似于转发的电子邮件方面有一个优势:使用一行代码接收$:

'to' => array(array('email' => 'joe@example.com' ),array('email' => 'joe2@example.com' ))

我想利用Mandrill的这一优势(2000封电子邮件/天),删除foreach并使 Madrill服务器将收件人的电子邮件放入$中。这样,这部分代码将获得默认值,而不是唯一的,我将能够使用第二个代码片段。这样它就不会拒绝发送给取消订阅的电子邮件(根本不打扰发送),并且我会在我的数据库中将其标记为取消订阅。 我使用Codeigniter API进行发送。你知道我怎么能帮助Mandrill帮我解决这个问题。 提前致谢

1 个答案:

答案 0 :(得分:1)

使用webhook检测取消订阅,并让您的webhook代码将其标记为已取消订阅,以防止重新发布。

所以你只需正常使用Mandrill发送,并让Mandrill添加自己的取消订阅链接。

接下来,您将设置一个webhook,用于侦听来自用户的取消订阅事件。

当webhook被触发时,它将调用您的webhook代码,并且您的代码会将用户标记为已取消订阅数据库。