我在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密钥)
由于服务器的限制,我必须使用针。
答案 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中无效。我没有注意到这一点,我编辑了我的答案。