2016-10-18 59 views
0

我试图在我的网站中使用Mailchimp API构建自定义表单。我设法编写了一个PHP脚本,它将我的用户从Mailchimp仪表板中添加到邮件列表中。不过,我有问题发送给他们一个自动回复电子邮件。Mailchimp API表单未发送最终欢迎电子邮件

这是我HTML形式:

<form method='post' action='<?= get_template_directory_uri() ?>/mailchimp.php'> 
    <input type='text' name='email'/> 
    <input type='submit' name='submit' value='Subscribe'/> 
</form> 

这是我的代码来处理请求Mailchimp和将用户添加到列表:

session_start(); 
if(isset($_POST['submit'])){ 
    $email = $_POST['email']; 
    if(!empty($email) && !filter_var($email, FILTER_VALIDATE_EMAIL) === false){ 
     // MailChimp API credentials 
     $apiKey = 'xxx'; 
     $listID = 'xxx'; 

     // MailChimp API URL 
     $memberID = md5(strtolower($email)); 
     $dataCenter = substr($apiKey,strpos($apiKey,'-')+1); 
     $url = 'https://' . $dataCenter . '.api.mailchimp.com/3.0/lists/' . $listID . '/members/' . $memberID; 

     // member information 
     $json = json_encode([ 
      'email_address' => $email, 
      'status'  => 'subscribed' 
     ]); 

     // send a HTTP POST request with curl 
     $ch = curl_init($url); 
     curl_setopt($ch, CURLOPT_USERPWD, 'user:' . $apiKey); 
     curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($ch, CURLOPT_TIMEOUT, 10); 
     curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $json); 
     $result = curl_exec($ch); 
     $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
     curl_close($ch); 

     echo "<h1>$httpCode</h1>"; 
     return $httpCode; 

    } 
} 

我读了你不能发送最后欢迎发送电子邮件给任何人,除非他们被标记为subscribed到您的清单。我明白Mailchimp强制执行双重选择启用策略,除非重写使用API​​通过设置用户状态订阅,因为我已经做了如下:

// member information 
     $json = json_encode([ 
      'email_address' => $email, 
      'status'  => 'subscribed' 
     ]); 

,但由于某种原因,我还没有在订阅列表中接收电子邮件。有人会对我做错什么有任何建议吗?

我从Mailchimp的后端确保最终欢迎电子邮件已设置。

回答

0

我设法解决了我的问题,并在此发布此答案,以供任何可能会遇到类似问题的人通过单选方式发送欢迎电子邮件。

双选制法

Mailchimp强制执行双重确认政策,规定谁对你的通讯签署了一个用户/服务将发送2封电子邮件。第一个是确认电子邮件,用户可以确认他们请求加入您的列表。第二个是欢迎电子邮件 - 只有在用户添加到您的列表中后才会发送。

重写双重选择的过程

您可以通过使用Mailchimp API覆盖此功能。您必须确保您添加状态为subscribed的用户,以便他们不必经历双重选择加入过程。但是,这仍然不意味着欢迎电子邮件已发送。

发送的欢迎电子邮件

为了送你必须建立一个自动化规则此欢迎电子邮件。此规则应包含一个触发器,在用户订阅列表后立即触发。您可以在Mailchimp后端中设置这些规则。通过这样做,您可以通过单选功能向订阅者发送欢迎电子邮件。

自动化规则

记住,自动化规则将仅每封电子邮件触发一次。因此,如果有人要退订或从列表中删除并重新订阅相同的电子邮件,则不会收到欢迎邮件。

为WordPress

如果您正在使用Wordpress很大plugin它处理整合Mailchimp是Mailchimp for Wordpress。然而,这是它自己不会工作 - 你需要通过你的mailchimp帐户添加自动发送欢迎电子邮件。

我希望这可以帮助未来的人!

相关问题