gpt4 book ai didi

Sitecore 8.1 EXM 无法在收件人列表中添加 Sitecore Extranet 用户

转载 作者:行者123 更新时间:2023-12-02 19:08:43 25 4
gpt4 key购买 nike

我正在尝试将现有的 sitecore 用户添加到收件人列表中。我使用列表管理器创建了空收件人列表。下面是我的代码。

RecipientId recipient = new SitecoreUserName(userProfile.UserName);
var listRepository = new ListManagerCollectionRepository();
var newsRecipientList = listRepository.GetEditableRecipientCollection("{list-id}");
if (!newsRecipientList.Contains(recipient).Value)
{
newsRecipientList.AddRecipient(recipient);
}

但是,当我看到我的收件人列表时,它始终是空的。请帮忙。

最佳答案

Sitecore 电子邮件体验管理器与列表管理器配合使用。列表管理器适用于联系人实体,而不是用户实体。这就是为什么用户可以出现在 Sitecore 中,但您将他添加到列表时可能会遇到问题:联系人可能会缺席。另外,我不确定列表的 RecipientId 是否可以从 SitecoreUserName 获取,如您的示例中所示。

可能导致此问题的其他问题:Sitecore 不会立即将联系人写入数据库。您可以在内存中拥有联系人(例如 Tracker.Current.Session.Contact),但只有在 session 结束后将其添加到数据库并解锁后,其他人才能访问它。

您可以使用 Brian Pedersen approach 解决您的问题。它对我有用。

var repository = new ExtendedContactRepository();
var contact = Repository.GetOrCreateContact(userEmail);
recipientList.AddRecipient(contact.ContactId.ToID());

关于Sitecore 8.1 EXM 无法在收件人列表中添加 Sitecore Extranet 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37559891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com