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

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
 

macus_adi

Utente Attivo
5 Dic 2017
1.141
65
48
IT/SW
Creare un metodo che dato in input un parametro (lista utenti) invii l'email... Basta un ciclo sull'email del destinatario-
 

marzar

Utente Attivo
8 Ott 2010
53
0
6
o meglio vorrei mandare una mail hai contatti di una lista di
mailchimp
 

marzar

Utente Attivo
8 Ott 2010
53
0
6
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
 

marzar

Utente Attivo
8 Ott 2010
53
0
6
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: