我尝试使用Mailchimp API
在我的网站中构建自定义表单。我设法编写了一个PHP
脚本,该脚本将我的用户从Mailchimp仪表板中添加到邮件列表中。但是,我在向他们发送自动回复邮件时遇到问题。
这是我的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强制执行双重optin政策,除非使用API设置用户状态订阅,如下所示:
// member information
$json = json_encode([
'email_address' => $email,
'status' => 'subscribed'
]);
但由于某种原因,我在订阅列表时仍然没有收到电子邮件。有人会对我做错了什么有任何建议。
我确保从Mailchimp的后端确保设置了最终欢迎电子邮件。
答案 0 :(得分:1)
我设法解决了我的问题,我在这里发布这个答案给任何可能遇到类似问题的人,通过单一选择加入过程发送欢迎电子邮件。
双重选择
Mailchimp实施双重选择加入政策,注册您的简报/服务的用户将收到2封电子邮件。第一个是确认电子邮件,使用户能够确认他们要求加入您的列表。第二个是欢迎电子邮件 - 只有在用户添加到您的列表后才会发送。
覆盖正在进行的双重选择
您可以使用Mailchimp API
覆盖此功能。您必须确保添加状态为subscribed
的用户,以便他们不必经历双重选择加入过程。但是,这仍然不意味着发送欢迎电子邮件。
发送欢迎电子邮件
要发送此欢迎电子邮件,您必须设置自动化规则。此规则应包含在用户订阅列表后立即触发的触发器。您可以在Mailchimp后端设置这些规则。通过这样做,您可以通过单个选择加入过程向订阅者发送欢迎电子邮件。
自动化规则
请记住,自动化规则每封电子邮件只会触发一次。因此,如果有人要取消订阅或从列表中删除并重新订阅相同的电子邮件,则不会收到欢迎电子邮件。
适用于Wordpress
如果您使用的是Wordpress
,那么处理与Mailchimp的集成的plugin
是Mailchimp for Wordpress
List<Data> dataList = new List<Data>();
IEnumerable<School> schools = from d in dataList
group d by new { SchoolId = d.SchoolId, SchoolName = d.SchoolName } into groupSchool
select new School { SchoolId = groupSchool.Key.SchoolId, SchoolName = groupSchool.Key.SchoolName, Teachers =new List<Teacher>(groupSchool.Select(x => new Teacher { TeacherId = x.TeacherId, TeacherName = x.TeacherName })) };
。然而,由于它自己不能工作 - 您需要通过mailchimp帐户添加自动化以发送欢迎电子邮件。
我希望这有助于将来的人们!