How to send email through MailChimp 3.0 api?

后端 未结 3 1918
情深已故
情深已故 2021-02-08 03:36

I\'m trying to send email through mailchimp api version 3.0 in php, but i have no luck. This is my code:

$postString = \'{
        \"message\": {
            \"h         


        
相关标签:
3条回答
  • 2021-02-08 04:05
    <?php
    //require_once('mailchimpint/mcapi/inc/MCAPI.class.php');
    $apikey = 'Your api';
    
    $to_emails = array('to email 1', 'toemail 2');
    $to_names = array('Name 1', 'Name 2');
    
    $message = array(
        'html'=>'Yo, this is the <b>html</b> portion',
        'text'=>'Yo, this is the *text* portion',
        'subject'=>'This is the subject',
        'from_name'=>'Me!',
        'from_email'=>'',
        'to_email'=>$to_emails,
        'to_name'=>$to_names
    );
    
    $tags = array('WelcomeEmail');
    
    $params = array(
        'apikey'=>$apikey,
        'message'=>$message,
        'track_opens'=>true,
        'track_clicks'=>false,
        'tags'=>$tags
    );
    
    $url = "http://us5.sts.mailchimp.com/1.0/SendEmail";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url.'?'.http_build_query($params));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
    $result = curl_exec($ch);
    echo $result;
    curl_close ($ch);
     var_dump($result);
    $data = json_decode($result);
    
    echo "Status = ".$data->status."\n";
     ?>
    
    0 讨论(0)
  • 2021-02-08 04:06

    My code here worked for a test mail, but basically it's the same thing for non test, just the url is changing.

    <?php
    
    $apiKey = "your api key found easily in your account";
    $campaignId = "your campaign id, you need to create one. Use the playground to get the id";
    
    $memberId = md5(strtolower("membermail"));
    $dataCenter = substr($apiKey,strpos($apiKey,'-')+1);
    $url = 'https://'. $dataCenter . '.api.mailchimp.com/3.0/campaigns/' . $campaignId .'/actions/test';
    
    $jsonEmail = '{"test_emails":["the mail you want to send thing sat"],"send_type":"html"}';
    
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_USERPWD, 'apikey:'.$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_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonEmail);
    
    $result = curl_exec($ch);
    curl_close($ch);
    
    var_dump($result);
    
    ?>
    

    you should have a string "0" if everything went well. Wait a bit and the mail will be sent.

    Good luck !

    0 讨论(0)
  • You cannot send a random email from API v3 like you probably did with v1. Now you can only send a previously created campaign in MailChimp as stated by LamaDelRay.

    0 讨论(0)
提交回复
热议问题