【问题标题】:Sitecore ECM op-tin and opt-out roles datesSitecore ECM 选择和退出角色日期
【发布时间】:2015-05-25 12:06:45
【问题描述】:

我想知道有没有办法让用户订阅/取消订阅电子邮件活动?

它是否保存在 MSSQL 中的数据库/表之一中?

【问题讨论】:

    标签: sitecore sitecore-dms sitecore-ecm


    【解决方案1】:

    如果您使用该方法并根据用户是否担任角色来确定选择加入和退出,则它存储在core 数据库中的aspnet_UsersInRoles 表中。此表保留角色分配给用户时的信息。这就是您无法在用户订阅或取消订阅电子邮件活动时获取信息的原因。

    您唯一可以检查的是用户是否在角色中:

    user.IsInRole(roleName)
    

    【讨论】:

    • 感谢您的帮助,但我知道如何检查角色 - 棘手的是我想获取订阅或取消订阅的日期 :) 我看到它没有存储在会员用户中,并且角色表。对于某些报告,我们需要该日期,而对于大多数历史数据,我们需要该日期。
    【解决方案2】:

    用户的订阅是由用户角色驱动的,但是在ECM中可以获取用户的订阅,你只需要使用api。

    您可以通过电子邮件地址获取联系人:

    string fullName = commonDomain + "\\" + Util.AddressToUserName(username);
    
    var contact = Contact.FromName(fullName);
    var subscriptions = contact.GetSubscriptions();
    

    一旦您有了联系人,您就可以调用GetSubscriptions() 方法,该方法将返回用户注册的收件人列表。您可以通过许多其他方法调用联系人,如果有方法可以获取取消订阅/订阅的日期,它将在这里。

    如果没有反映Sitecore.EmailCampaign.dll 并继续寻找! Analytics 数据库的自动化状态表中可能有一些额外的信息。此处有关自动化状态的更多信息:

    https://www.sitecore.net/learn/blogs/technical-blogs/sitecore-magnified/posts/2013/09/ecm-automation-states-magic.aspx

    还注意到Sitecore.Modules.EmailCampaign.Core.Analytics.AnalyticsHelper 类上有一个方法GetUnsubscribersStatistics。这将有取消订阅的日期。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-31
      • 2017-04-05
      • 1970-01-01
      • 2021-11-08
      • 2018-09-13
      • 1970-01-01
      相关资源
      最近更新 更多