【发布时间】:2014-02-19 03:36:39
【问题描述】:
所以我有一个提交电子邮件字符串的表单。我希望它进入我设置的具有电子邮件、名字和姓氏的 MailChimp 列表。对于这个特定的表格,我只希望它发送一封电子邮件并将名字和姓氏字段留空。无论如何,在查看文档之后(我不是这方面的超级专家),但我将在提交表单后处理的 PHP 放在一起。无论如何它不起作用,电子邮件不会添加到我的 MailChimp 列表中。我什至仔细检查了 API 密钥和列表 ID。下面是与 MailChimp 订阅处理有关的代码:
<?php
require_once("../includes/mailchimp/Mailchimp.php");
if (isset ($_POST['submitted'])) {
$email = $database->escape_value(trim($_POST['email']));
if (!empty ($email) && filter_var($email, FILTER_VALIDATE_EMAIL) && preg_match('/@.+\./', $email)) {
$session->save_email($email);
// Subscribe User to List
$api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$list_id = "xxxxxxxxxxx";
$Mailchimp = new Mailchimp( $api_key );
$Mailchimp_Lists = new Mailchimp_Lists( $Mailchimp );
$subscriber = $Mailchimp_Lists->subscribe( $list_id, array( 'email' => $email ) );
if ( ! empty( $subscriber['leid'] ) ) {
redirect_to("./#subcribed");
}
// end subscribe
} else {
redirect_to("./#hello-" . $email);
}
}
?>
现在"redirect_to("./#subcribed");"被调用,但没有任何内容发送到 MailChimp 列表。关于为什么它可能不起作用的任何想法?
**编辑 我删除了这个:
$Mailchimp_Lists = new Mailchimp_Lists( $Mailchimp );
然后将订阅功能改为:
$subscriber = $Mailchimp->lists->subscribe($list_id, array('email' => $email));
无论如何,它仍然和以前一样。 :(
【问题讨论】:
-
我建议从代码示例中删除您的 API 密钥。