Sitecore ECM-更改电子邮件发送顺序

Sitecore ECM-更改电子邮件发送顺序,sitecore,sitecore6,sitecore-ecm,Sitecore,Sitecore6,Sitecore Ecm,我正在尝试对Sitecore ECM发送电子邮件的顺序进行排序—我在Dispatchs新闻稿管道中添加了一个自定义处理器,就在sendEmails处理器之前。但我似乎无法改变发送电子邮件的顺序。我正在尝试做的一个基本示例: public void Process(DispatchNewsletterArgs args) { IOrderedEnumerable<Contact> orderedSubscribers = args.Message.Subscr

我正在尝试对Sitecore ECM发送电子邮件的顺序进行排序—我在Dispatchs新闻稿管道中添加了一个自定义处理器,就在sendEmails处理器之前。但我似乎无法改变发送电子邮件的顺序。我正在尝试做的一个基本示例:

 public void Process(DispatchNewsletterArgs args)
    {
        IOrderedEnumerable<Contact> orderedSubscribers = args.Message.Subscribers.OrderBy(x => x.Profile.UserName.Split('_')[1]);
        List<Contact> orderedList = orderedSubscribers.ToList();
        args.Message.Subscribers.Clear();

        //Add the sorted subscriber list. 
        args.Message.Subscribers.AddRange(orderedList);
    }
}
公共作废流程(DispatchNewsletterArgs-args)
{
IOrderedEnumerable orderedSubscribers=args.Message.Subscribers.OrderBy(x=>x.Profile.UserName.Split(“”“)[1]);
List orderedList=orderedSubscribers.ToList();
args.Message.Subscribers.Clear();
//添加已排序的订户列表。
args.Message.Subscribers.AddRange(orderedList);
}
}

发送似乎是从联系人或成员列表中设置的,而不是从订户列表中设置的。但我无法改变那里的秩序。有人能解释一下吗

排队电子邮件的顺序基于args.Message.subscriberNames属性(而不是args.Message.Subscribers

您仍然需要记住,电子邮件被安排为异步任务,因此您无法真正判断它们是否将按照与排队相同的顺序进行处理

您可以查看Sitecore.Modules.EmailCampaign.Core.Pipelines.DispatchNewsletter.SendMessage类的代码,以了解电子邮件处理方式的更多详细信息