web-dev-qa-db-fra.com

Les API Mailchimp peuvent-elles être utilisées pour envoyer un courrier électronique de transaction basé sur un modèle déclenché par des actions sur mon site Web?

Je suis en train de jouer avec les API de Mailchimp, mais la documentation que j'ai pour moi n'est pas très claire. Voici ce que je veux réellement:

  1. Les modèles que j'ai créés sur Mailchimp doivent-ils être visibles sur mon propre serveur.
  2. Affectez chaque modèle que j'ai créé à une action spécifique (connecté, abonné, ordre créé ou nouveau mot de passe). C'est une fonctionnalité que j'ai déjà testée avec Mandrill, mais le modèle existe sur le compte de mandrill.

Si l'option 1 n'est pas possible, puis-je créer mon propre modèle dans mon propre environnement et l'envoyer par Mailchimp ou Mandrill?

Devrais-je utiliser les services Mailchimps à cet effet ou envoyer l'e-mail directement à partir de mon propre serveur?

Fonction courante utilisée:

  function tep_mandrill_mail($to_name, $to_email_address, $email_subject, $email_text, $from_email_name, $from_email_address) {

    if (SEND_EMAILS != 'true') return false;
$uri = 'https://mandrillapp.com/api/1.0/messages/send-template.json';

$postString = '{
"key": "xxxxxxxxxxx",
    "template_name": "sometemplatename",
    "template_content": [
        {
            "name": "header",
            "content": "*|HEADERSTUFF|*"
        },
        {
            "name": "main",
            "content": "*|CONTENTSTUFF|*"
        },
        {
            "name": "footer",
            "content": "*|FOOTERSTUFF|*"
        }
    ],
    "message": {
        "subject": "'.$email_subject.'",
        "from_email": "'.$from_email_adress.'",
        "from_name": "'.$from_email_name.'",
        "to": [
            {
                "email": "'.$to_email_address.'",
                "name": "'.$to_name.'"
            }
        ],
        "important": false,
        "track_opens": true,
        "merge": true,

  "merge_vars": [
            {
                "rcpt": "'.$to_email_address.'",
                "vars": [
                    {
                        "name": "HEADERSTUFF",
                        "content": "'.$email_subject.'" 
                    },
                     {
                        "name": "CONTENTSTUFF",
                        "content": "'.$email_text.'"
                    },
                     {
                        "name": "FOOTERSTUFF",
                        "content": "paulvale-foot"
                    }   
                ]
            }
        ],      
        "tags": [
            "password_forgotten"
        ]
    },
    "async": false,
    "ip_pool": "Main Pool"
}';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $uri);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postString);
curl_exec($ch);
  }
2
HenryW

Les types d’emails dont vous parlez sont des emails "transactionnels" et non "newsletter". Le produit Mailchimp principal est conçu pour l’envoi de newsletters. Vous envoyez des emails presque identiques à tous les destinataires d’une liste de diffusion, tous en même temps. Les e-mails transactionnels sont envoyés lorsque les utilisateurs en ont besoin et sont déclenchés par des actions sur votre site.

L'offre principale de Mailchimp est destinée à l'envoi de newsletters. Leur division Mandrill est configurée pour gérer les emails transactionnels. Si vous utilisez Mailchimp pour cela, vous voulez certainement utiliser Mandrill.

Lors de l'utilisation d'un service de messagerie fonctionnant avec des modèles, vous n'avez généralement pas besoin que le modèle soit visible sur votre serveur. Vous pouvez configurer des modèles comme:

Hello $user,

Your new password is: $password

Vous utiliseriez l'API pour transmettre les données nécessaires pour envoyer l'e-mail au service:

mandrill->send(
    "to" -> "[email protected]",
    "template" -> "new password",
    "user" -> "Bob",
    "password" -> "GXFjTZNy"
);

Je ne suis pas particulièrement familiarisé avec Mandrill, de sorte que leurs appels d'API et leur syntaxe de modèle seront probablement différents de ce que j'ai posté ici. Ils ont la documentation pour

Il me semble que l’API Mandrill est un choix raisonnable pour le courrier électronique transactionnel de votre site Web.

Si vous ne voulez pas spécifier vos modèles à l'avance, vous pouvez avoir votre application ajouter ses propres modèles . Il existe également un moyen de lister tous les modèles disponibles . Si rien d'autre, vous pourriez envoyer vos emails sans utiliser de modèles du tout .

3