[PHP] mandare mail usando i cantatti di una lista su mailchimp

  • Creatore Discussione Creatore Discussione marzar
  • Data di inizio Data di inizio

marzar

Utente Attivo
8 Ott 2010
53
0
6
ciao a tutti ho fatto una applicazione in php vorrei fare un pulsante che richiama una chiamata api che manda una mail usando una deterninata lista di mailchimp, sapete come fare????
grazie Marco
 
Creare un metodo che dato in input un parametro (lista utenti) invii l'email... Basta un ciclo sull'email del destinatario-
 
Codice:
?php

$apikey = 'qui va la  mia_api-key';
$list_id = 'qui idi lista list_id';


    $apikey = 'my_api-key-goes_here';



    $to_emails = array('pippo@gmail.com');
    $to_names = array('pippo');

    $message = array(
        'html'=>'qui va testo in html',
        'text'=>'qui va testo in txt',
        'subject'=>'abbiamo pubblicato una nuova news ',
        'from_name'=>pippo',
        'from_email'=>'pippo@gimal.com',
        'to_email'=>$to_emails,
        'to_name'=>$to_names
    );

    $tags = array('Salve');

    $params = array(
        'apikey'=>$apikey,
        'message'=>$message,
        'track_opens'=>true,
        'track_clicks'=>false,
        'tags'=>$tags
    );

    $url = "http://us1.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);

    $data = json_decode($result);
    echo "Status = ".$data->status."\n";
 ?>

è corretto????
grazie a chi risp
 
Può andare??????
PHP:
$mail = new PHPMailer(true);

//impostazione dell'account Mailchimp
$apiKey = /*MailChimp API keys*/;
$listId = /*MailChimp List id*/;

$User = /*SendGridUser*/;
$Password = /*SendGridPassword*/;

$subject = /*Oggetto mail*/;
$fromAddress = /*indirizzo mail*/;
$fromName = /*nome*/;
$body = file_get_contents(/*percorso testo*/);

$MailChimp = new \Drewm\MailChimp($apiKey);
$args = array(
    'id' => $listId,
);

$result = $MailChimp->call('lists/members', $args);

//Prima controlla eventuali errori, se non si sono verificati errori, crea l'elenco email.
if(isset($result['status']) && $result['status'] == 'error'){
    throw new Exception('call to Mailchimp API has failed.');
} else {
    $emails = array();
    //Crea una serie di email per gli utenti che sono attualmente iscritti.
    foreach($result['data'] as $recipient){
        if($recipient['status'] == 'subscribed' && !empty($recipient['email'])){
            $emails[] = $recipient['email'];
        }
    }
}

//Impostazione per l'invio di e-mail a un elenco arbitrario di e-mail con smtp.
$transport = Swift_SmtpTransport::newInstance('smtp.esmpio.net', 587, 'tls')
  ->setUsername($User)
  ->setPassword($Password)
  ;

foreach($emails as $email){
// Invia email a ciascun utente.
    $mailer = Swift_Mailer::newInstance($transport);

    $message = Swift_Message::newInstance()
      ->setSubject($subject)
      ->setFrom(array($fromAddress => $fromName))
      ->setTo($email)
      ->setBody($body);

    $mailer->send($message);
}
 ?>
 
Ultima modifica:

Discussioni simili