2016-10-18 11 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としてマークされていない限り、誰にでも電子メールを歓迎します。上書きしない限り、私は以下のやったとして加入し、ユーザーのステータスを設定することで、APIを使用してMailchimpは、二重のoptinポリシーを適用理解:

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

が、私はまだリストに加入すると、メールを受信して​​いない何らかの理由。誰かが私が間違っていることについて何か提案がありますか?

私は、Mailchimpのバックエンドから最終ウェルカム電子メールがセットアップされていることを確認しました。

答えて

0

私は問題を解決することができました。私はこのオプトインを、オプトインの単一プロセスでウェルカムメールを送信することに関して、私に同様の問題が発生する可能性がある人に紹介しています。プロセスで

ダブルオプト

Mailchimpは、ダブルオプトインポリシーニュースレター/サービスにサインアップユーザーが2通の電子メールが送信されますとなるが適用されます。最初は、ユーザーがあなたのリストへの参加を要求したことを確認するための確認メールです。 2番目は歓迎電子メールです。ユーザーがあなたのリストに追加された後にのみ送信されます。

はあなたがMailchimp APIを使用してこの機能を無効にすることができますプロセスに

をダブルオプトオーバーライド。あなたは、ダブルオプトインプロセスを経る必要がないように、ステータスがsubscribedのユーザーを追加する必要があります。しかし、これは依然としてウェルカム電子メールが送信されることを意味するものではありません。あなたが自動化ルールを設定する必要があり、このウェルカムメールを送信するためにはウェルカムメール

を送信

。このルールには、ユーザーがリストに登録した直後に発生するトリガーが含まれている必要があります。 Mailchimpバックエンドでこれらのルールを設定することができます。これを行うことで、単一のオプトインプロセスを通じて、登録者にウェルカムメールを送信することができます。オートメーションルールは電子メールのみ一回引き金となることを念頭に置い

オートメーションルール

ベア。したがって、誰かが購読を中止したり、リストから削除されたり、同じ電子メールで再購読されたりすると、歓迎電子メールは受信されません。

Wordpressのについては

あなたはWordpress Mailchimpへの統合がMailchimp for Wordpressで扱う大きなpluginを使用している場合。しかし、これは独自のものではありません。あなたは、歓迎メールを送信するためにあなたのメールチェンディングアカウントを介してオートメーションを追加する必要があります。

これが将来の人々に役立つことを願っています!

関連する問題