检查Mailchimp.net API是否存在电子邮件

时间:2014-01-02 14:46:22

标签: .net mailchimp subscribe

我在这里使用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没有给我一个明确的处理异常的方法,我不是最好的后端开发人员。我知道我需要检查列表中是否存在电子邮件,只需要一点帮助就可以到达那里。

感谢所有人的帮助!

3 个答案:

答案 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);