如何使用MailChimp API发送电子邮件

时间:2016-04-12 16:20:08

标签: javascript node.js curl mailchimp needle.js

我在nodejs中创建应用以使用MailChimp发送电子邮件。我尝试使用https://apidocs.mailchimp.com/sts/1.0/sendemail.func.php,但将其更改为使用3.0 api,因为1.0似乎不再有效(大惊喜)。我已经

设置了我的应用
var apiKey = '<<apiKey>>',
        toEmail = '<<emailAddress>>',
        toNames = '<<myName>>',
        message = {
            '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': toEmail,
            'to_name': toNames
        },
        tags = ['HelloWorld'],
        params = {
            'apikey': apiKey,
            'message': message,
            'track_opens': true,
            'track_clicks': false,
            'tags': tags
        },
        url = 'https://us13.api.mailchimp.com/3.0/SendEmail';
needle.post(url, params, function(err, headers) {
    if (err) {
                console.error(err);
            }
            console.log(headers);
    }
});

我一直收到401回复(未授权,因为我没有正确发送API密钥)

由于服务器的限制,我必须使用针。

2 个答案:

答案 0 :(得分:1)

没有&#34; SendEmail&#34; API v3.0中的端点。 MailChimp的STS是其Mandrill交易服务的前传,可能只适用于拥有现有STS广告系列的用户帐户。无法创建新的STS广告系列。如果您有一个月度付费的MailChimp帐户,您应该查看Mandrill。如果没有,我和Mailgun一起好运。

答案 1 :(得分:0)

您应该在MailChimp API 3.0中使用HTTP基本身份验证。

needle.get('https://<dc>.api.mailchimp.com/3.0/<endpoint>', { username: 'anystring', password: 'your_apikey' },
  function(err, resp) {
      // your code here...
});

修改

@TooMuchPete是对的,SendMail端点在MailChimp API v3.0中无效。我没有注意到这一点,我编辑了我的答案。