C# 如何防止Sitecore EXM新闻稿将链接转换为RedirectUrlPage.aspx
我想阻止Sitecore EXM发送的电子邮件中的某些链接转换为“../Sitecore/RedirectUrlPage.aspx…”。具体来说,我不希望我们的图像src URL(如“”)转换为任何其他URL,从而阻止图像显示在电子邮件中 查看后,我基本上意识到我的Sitecore.EmailExperience.Core.config中的以下设置是控制EXM电子邮件中的URL转换为“../Sitecore/RedirectUrlPage.aspx…”的功能:C# 如何防止Sitecore EXM新闻稿将链接转换为RedirectUrlPage.aspx,c#,asp.net,sitecore8,C#,Asp.net,Sitecore8,我想阻止Sitecore EXM发送的电子邮件中的某些链接转换为“../Sitecore/RedirectUrlPage.aspx…”。具体来说,我不希望我们的图像src URL(如“”)转换为任何其他URL,从而阻止图像显示在电子邮件中 查看后,我基本上意识到我的Sitecore.EmailExperience.Core.config中的以下设置是控制EXM电子邮件中的URL转换为“../Sitecore/RedirectUrlPage.aspx…”的功能: <processor typ
<processor type="Sitecore.Modules.EmailCampaign.Core.Pipelines.GenerateLink.Hyperlink.GenerateHyperlink, Sitecore.EmailCampaign" >
<RedirectPagePath>/sitecore/RedirectUrlPage.aspx</RedirectPagePath>
<UrlQueryKey ref="settings/setting[@name='QueryStringKey.RedirectUrl']/@value" />
</processor>
你知道我应该如何修改上面的代码以防止它操纵任何图像src URL吗?我猜有一个特定的情况(if条件)会阻止某些行执行,或者阻止某些逻辑执行。我尝试了30种方法,但都没有效果。谢谢
<modifyHyperlink>
<processor type="TowersWatson.Custom.EXM.GenerateHyperlink, TowersWatson.Custom" singleInstance="true" patch:instead="processor[@type='Sitecore.Modules.EmailCampaign.Core.Pipelines.GenerateLink.Hyperlink.GenerateHyperlink, Sitecore.EmailCampaign']">
</processor>
</modifyHyperlink>
public class GenerateHyperlink : GenerateLinkProcessor
{
public string RedirectPagePath { get; set; }
public string UrlQueryKey { get; set; }
public GenerateHyperlink()
{
this.UrlQueryKey = "ec_url";
}
public override void Process(GenerateLinkPipelineArgs args)
{
Assert.IsNotNull((object)args, "Arguments can't be null");
Assert.IsNotNull((object)args.Url, "Url can't be null");
if (args.PreviewMode)
return;
StringBuilder stringBuilder = new StringBuilder();
args.QueryString[this.UrlQueryKey] = HttpUtility.HtmlDecode(args.Url);
stringBuilder.Append(args.MailMessage.ManagerRoot.Settings.BaseURL);
stringBuilder.Append(this.RedirectPagePath);
if (args.QueryString.Count > 0)
{
string str = NameValueCollectionExtensions.ToQueryString(args.QueryString, true);
stringBuilder.Append(str);
}
args.GeneratedUrl = stringBuilder.ToString();
}
}