我在这里使用MailChimp.net api:https://github.com/danesparza/MailChimp.NET
这是我目前拥有的代码,适用于将用户订阅到我的列表中,但显然当mailchimp列表中已存在电子邮件时,它会引发异常,并且API尚未完全完成,因此并非所有mailchimp方法可供我使用。
//SUBSCRIBE IN MAILCHIMP
MailChimpManager mc = new MailChimpManager("**API-KEY**");
// Create the email parameter
EmailParameter subscriber = new EmailParameter()
{
Email = model.email
};
EmailParameter results = mc.Subscribe("**LIST-ID*", subscriber);
我一直在努力做这样的事情:
mc.GetMemberInfo("**LIST-ID**", "member email");
但我不知道正确的语法,或者这是否是正确的使用方法。
Mailchimp没有给我一个明确的处理异常的方法,我不是最好的后端开发人员。我知道我需要检查列表中是否存在电子邮件,只需要一点帮助就可以到达那里。
感谢所有人的帮助!
答案 0 :(得分:5)
你应该可以这样做:
MailChimpManager mc = new MailChimpManager(** apikey **);
var emails = new List<EmailParameter>();
emails.Add(new EmailParameter() { Email = ** youremail ** });
var info = mc.GetMemberInfo(** listid **, emails);
var member = info.Data.SingleOrDefault();
if (member.Status == "subscribed") {
** email is subscribed **
}
else {
** email is not subscribed **
}
答案 1 :(得分:1)
对于Mailchimp非常高兴,我使用以下内容(知道我使用返回的listresult中的第一个列表)
MailChimpManager mc = new MailChimpManager(WebConfigurationManager.AppSettings["OOooKey"]);
ListResult lists = mc.GetLists();
Matches match = mc.SearchMembers("anemailaddress.com.au", lists.Data[0].Id);
if(match.ExactMatches.Members.Count > 0)
{
}
答案 2 :(得分:0)
MailChimpManager.Subscribe
方法有一个可选的updateExisting
参数,这将导致它更新已存在的成员,而不是抛出异常:
EmailParameter results = mc.Subscribe("**LIST-ID**", subscriber, updateExisting: true);