3

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

感谢大家的帮助!

4

3 回答 3

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 **
}
于 2014-01-03T10:04:52.913 回答
1

Mailchimp 非常nooby,我使用以下内容(知道我使用返回的列表结果中的第一个列表)

        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)
    {

    }
于 2014-07-02T22:12:20.337 回答
0

MailChimpManager.Subscribe方法有一个可选updateExisting参数,这将导致它更新已经存在的成员,而不是抛出异常:

EmailParameter results = mc.Subscribe("**LIST-ID**", subscriber, updateExisting: true);
于 2015-05-29T00:57:40.453 回答