【问题标题】:MailChimp API 2.0 and PHP Subscribe FormMailChimp API 2.0 和 PHP 订阅表单
【发布时间】: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 密钥。

标签: php forms email mailchimp


【解决方案1】:

想通了!我需要使用 call 方法而不是 subscribe 方法。我真的不知道为什么。任何进一步的输入都会很棒:)

【讨论】:

    猜你喜欢
    • 2014-07-12
    • 2013-08-27
    • 2014-04-24
    • 2014-09-29
    • 2013-11-09
    • 2015-08-13
    • 2015-06-02
    • 2016-07-01
    • 2017-11-18
    相关资源
    最近更新 更多