55
66namespace System. Agents;
77
8+ using System;
9+
810codeunit 4311 "Agent Task Msg. Builder Impl."
911{
1012 Access = Internal ;
@@ -21,6 +23,7 @@ codeunit 4311 "Agent Task Msg. Builder Impl."
2123 GlobalMessageText: Text ;
2224 GlobalRequiresReview: Boolean ;
2325 GlobalIgnoreAttachment: Boolean ;
26+ GlobalSkipSanitizeMessage: Boolean ;
2427
2528 [Scope( ' OnPrem' ) ]
2629 procedure Initialize( MessageText: Text ) : codeunit "Agent Task Msg. Builder Impl."
@@ -34,10 +37,10 @@ codeunit 4311 "Agent Task Msg. Builder Impl."
3437 [Scope( ' OnPrem' ) ]
3538 procedure Initialize( From: Text [250 ]; MessageText: Text ) : codeunit "Agent Task Msg. Builder Impl."
3639 begin
37- GlobalFrom := From;
38- GlobalMessageText := MessageText;
3940 GlobalRequiresReview := true;
4041 GlobalIgnoreAttachment := false;
42+ GlobalFrom := From;
43+ GlobalMessageText := MessageText;
4144 exit ( this) ;
4245 end ;
4346
@@ -55,6 +58,13 @@ codeunit 4311 "Agent Task Msg. Builder Impl."
5558 exit ( this) ;
5659 end ;
5760
61+ [Scope( ' OnPrem' ) ]
62+ procedure SetSkipMessageSanitization( SkipSanitizeMessage: Boolean ) : codeunit "Agent Task Msg. Builder Impl."
63+ begin
64+ GlobalSkipSanitizeMessage := SkipSanitizeMessage;
65+ exit ( this) ;
66+ end ;
67+
5868 [Scope( ' OnPrem' ) ]
5969 procedure SetMessageExternalID( ExternalId: Text [2048 ]) : codeunit "Agent Task Msg. Builder Impl."
6070 begin
@@ -85,9 +95,12 @@ codeunit 4311 "Agent Task Msg. Builder Impl."
8595 AgentTaskImpl: Codeunit "Agent Task Impl.";
8696 AgentMessageImpl: Codeunit "Agent Message Impl.";
8797 IgnoreAttachment: Boolean ;
98+ MessageText: Text ;
8899 begin
89100 VerifyMandatoryFieldsSet() ;
90- GlobalAgentTaskMessage := AgentTaskImpl. AddMessage( GlobalFrom, GlobalMessageText, GlobalMessageExternalID, GlobalAgentTask, GlobalRequiresReview) ;
101+
102+ MessageText := GlobalSkipSanitizeMessage ? GlobalMessageText : SanitizeMessage( GlobalMessageText) ;
103+ GlobalAgentTaskMessage := AgentTaskImpl. AddMessage( GlobalFrom, MessageText, GlobalMessageExternalID, GlobalAgentTask, GlobalRequiresReview) ;
91104 TempAgentTaskFileToAttach. Reset() ;
92105 TempAgentTaskFileToAttach. SetAutoCalcFields( Content) ;
93106 if TempAgentTaskFileToAttach. FindSet() then
@@ -259,4 +272,12 @@ codeunit 4311 "Agent Task Msg. Builder Impl."
259272 exit ( ' text/plain' ) ;
260273 exit ( ' ' ) ;
261274 end ;
275+
276+ internal procedure SanitizeMessage( MessageBody: Text ) : Text
277+ var
278+ AppHTMLSanitizer: DotNet AppHtmlSanitizer;
279+ begin
280+ AppHTMLSanitizer := AppHTMLSanitizer. AppHtmlSanitizer() ;
281+ exit ( AppHTMLSanitizer. SanitizeEmail( MessageBody)) ;
282+ end ;
262283}
0 commit comments