【发布时间】:2015-11-26 00:47:00
【问题描述】:
我正在尝试将订阅者添加到列表中,但在没有任何示例代码的情况下很难实现它。 有人可以帮我举个例子吗?
【问题讨论】:
-
我用了一段时间,最终放弃了 mailchip.net 的实现。我会使用它得到随机异常......
-
MailChimp API 并不是最适合使用的东西。您可能需要考虑使用 MailChimp.NET nuget 包。
我正在尝试将订阅者添加到列表中,但在没有任何示例代码的情况下很难实现它。 有人可以帮我举个例子吗?
【问题讨论】:
受此视频启发: MailChimp.NET Tutorial: Create, Edit And Delete List Members - 这是我将订阅者添加到“给定列表”的测试代码。 订阅者将收到一封电子邮件,要求确认订阅。确认后,新订户 将列在 mailchimp 活动列表中。 (使用版本 mailchimp.net 包装器 v:3 和 newtonsoft.json 版本 10.0.3) - 这对我有用。
private static readonly IMailChimpManager Manager = new MailChimpManager(ApiKey);
public async Task AddSubscriberToCampaignList(string emailAddress, string listName, string fname, string lname)
{
try
{
var listsAwaitable = Manager.Lists.GetAllAsync().ConfigureAwait(false);
var list = listsAwaitable.GetAwaiter().GetResult().FirstOrDefault(l =>
l.Name.Equals(listName, StringComparison.CurrentCultureIgnoreCase));
if (list != null)
{
//the subscriber
var member = new Member
{
EmailAddress = emailAddress,
StatusIfNew = Status.Pending,
EmailType = "html",
TimestampSignup = DateTime.UtcNow.ToString("s"),
};
if (fname != null && lname != null)
{
var subscriberName = new Dictionary<string, object>
{
{"FNAME", fname},
{"LNAME", lname}
};
member.MergeFields = subscriberName;
}
string campaignListKey = list.Id;
await Manager.Members.AddOrUpdateAsync(campaignListKey, member);
}
}
catch (MailChimpException e)
{
throw;
}
【讨论】: