Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用C#代码将收件人添加到现有收件人列表-Sitecore电子邮件活动管理器_Sitecore_Sitecore Ecm - Fatal编程技术网

使用C#代码将收件人添加到现有收件人列表-Sitecore电子邮件活动管理器

使用C#代码将收件人添加到现有收件人列表-Sitecore电子邮件活动管理器,sitecore,sitecore-ecm,Sitecore,Sitecore Ecm,我想使用代码将新收件人添加到现有收件人列表中。我试着使用下面的代码,但它不起作用 TargetAudience recipientList=Factory.GetTargetTaudience(“RecipientListId”); if((recipientList!=null)) { Contact=//我不知道如何为此创建对象,因为它是受保护的类 contact.Profile.Email=“我的电子邮件”; contact.Profile.Name=“我的名字”; contact.Pro

我想使用代码将新收件人添加到现有收件人列表中。我试着使用下面的代码,但它不起作用

TargetAudience recipientList=Factory.GetTargetTaudience(“RecipientListId”);
if((recipientList!=null))
{
Contact=//我不知道如何为此创建对象,因为它是受保护的类
contact.Profile.Email=“我的电子邮件”;
contact.Profile.Name=“我的名字”;
contact.Profile.FullName=“全名”;
recipientList.Subscribers.Add(联系人);
}
请帮我做这个


提前感谢

您可以通过用户的用户名获得联系人。 此方法通过电子邮件地址获取联系人,并包含从电子邮件地址获取用户名的代码

public Contact GetContact(字符串电子邮件)
{
//managerRoot是顶级ECM项目
ManagerRoot managerRootFromId=Factory.GetManagerRootFromID(ManagerRoot.ID.ToString());
var username=Util.AddressToUserName(电子邮件);
字符串commonDomain=managerRootFromId.Settings.commonDomain;
字符串fullName=commonDomain+“\\”+Util.AddressToUserName(用户名);
if(User.Exists(全名))
{
返回联系人。FromName(全名);
}
返回null;
}
然后,您应该能够将联系人添加到订阅列表中

或者,一旦您有了联系人,您就可以设置配置文件值并使用subscribe方法

contact.InnerUser.Profile[“Fullname”]=string.Format(“{0}{1}”,person.Firstname,person.姓氏);
联系人。订阅(订阅列表);
您还可以使用以下代码添加ECM用户,该代码提供电子邮件地址作为localname

受保护的静态联系人CreateAnonymousECMUser(字符串localName,ManagerRoot根)
{
联系人=(联系人)空;
if(root!=null&&!string.IsNullOrEmpty(localName))
{
字符串commonDomain=root.Settings.commonDomain;
Assert.IsNotNullOrEmpty(commonDomain,EcmTexts.Localize(“未设置公共域设置”),新对象[0]);
字符串str=commonDomain+“\\”+Util.AddressToUserName(localName);
while(User.Exists(str))
str=str+“u2;”;
字符串密码=新密码生成器()
{
最小字符数=14
}.Generate();
System.Web.Security.Membership.CreateUser(str、密码、localName);
contact=contact.FromName(str);
contact.Profile.ProfileItemId=root.Settings.SubscriberProfile;
contact.Profile.Save();
}
回接;
}

在将用户添加到RecipientList之前,是否要添加用户。你能帮助我如何添加userCode add to add userWFFM中有创建用户并将其分配给receipient列表的代码-使用这个可能更灵活。WFFM的意思是??。抱歉,我是营销人员的sitecoreWeb表单新手-这是另一个Sitecore模块。