2016-07-12 4 views
2

私はmailchimpリストにユーザをサブスクライブする小さなlaravelアプリケーションを配備しました。 それは非常に基本的ですまだそれは、生産上では動作しませんMailchimpは実働環境では動作しません[laravel on azure]

注: EVERYTHINGは、ローカルホストのENVで結構ですし、お問い合わせフォームはFINE(使用するSMTP)をワークス

.env

MAIL_DRIVER=smtp 
MAIL_HOST=smtp.sendgrid.net 
MAIL_PORT=587 
MAIL_USERNAME=AUSERNAME 
MAIL_PASSWORD=APASSWORD 
MAIL_ENCRYPTION=TLS 

MAILCHIMP_APIKEY=APIKEYHERE 
MAILCHIMP_LIST_ID=LISTIDHERE 

コントローラ

Newsletter::subscribe($request->email, [ 
       'firstName' => 'test', 
       'lastName' => 'tessst', 
       'listName' => 'whishlist' ], 'subscribers'); 

return response()->json([ 
        'status' => 'success', 
        'msg' => 'Subscribed successfully']); 

laravelニュースレターコンフィグファイル

<?php 

return [ 

    'apiKey'   => env('MAILCHIMP_APIKEY'), 


    'defaultListName' => 'subscribers', 

    'lists'   => [ 


     'subscribers' => [ 


      'id' => '5920168294', 
     ], 
     'whishlist' => [ 


      'id' => '8e553f3d39', 
     ], 
    ], 
]; 

私の私が推測する、これが問題であるならば、これはHTTPSとは何か(私はファイルcacert.pemを追加し、php.iniの中でそれを参照することで問題を修正) を有することです私はこれを紺碧にどうやって解決できますか?

そして、申し訳ありません、それはAJAX呼び出しに成功を返すので、エラー出力はありません。(どのように私は、エラーをチェックするためにmailchimpからの応答を得ることができるかどうか?)事前に

感謝。

+0

smptまたはapiを使用していますか? – user2094178

+0

APIの原因[spatie/laravel-newsletter](https://github.com/spatie/laravel-newsletter) –

+0

あなたのサイトはhttpsで、httpからmailchimpスクリプトをロードしようとしていますか? –

答えて

2

私はここで何が問題なのか分かりません。

しかし、私が使用しているパッケージを取り除くと、spatie/laravel-newsletterであり、代わりにCURLとAPI V3が使用されました。

$email = $request->email; 
    $listid = env('MAILCHIMP_LIST_ID'); 
    $apikey = env('MAILCHIMP_APIKEY'); 
    $server = substr($apikey, strpos($apikey, '-') + 1); 
    $auth = base64_encode('user:' . $apikey); 
    $data = array(
     'apikey'  => $apikey, 
     'email_address' => $email, 
     'status'  => 'subscribed', 
     'merge_fields' => array(
      'FNAME' => 'test1', 
      'LNAME' => 'test2', 
     ), 

    ); 
    $json_data = json_encode($data); 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, 'http://'. $server.'api.mailchimp.com/3.0/lists/'. $listid .'/members/'); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 
     'Authorization: Basic ' . $auth)); 
    curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0'); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 10); 
    curl_setopt($ch, CURLOPT_HEADER, false); 
    curl_setopt($ch, CURLOPT_POST, true); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data); 
    $result = curl_exec($ch); 
    curl_close($ch); 
    return $result; 
関連する問題