0

首先,我知道 Mandrill 有自己的方式来处理取消订阅,即“添加带有取消订阅合并标签的链接”。但是它将未订阅的用户存储在帐户中,如果向该收件人发送新闻通讯和公告,则会拒绝。

所以我有这个代码部分,它通过 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 收件人使用一行代码:

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

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

4

1 回答 1

1

使用webhook检测取消订阅,并让您的 webhook 代码在您的数据库中将它们标记为取消订阅,以防止重新发送。

因此,您只需像往常一样使用 Mandrill 发送并让 Mandrill 添加自己的取消订阅链接。

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

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

于 2014-09-03T02:12:00.543 回答