");
+ foreach (var n in notifications)
+ {
+ text.AppendLine(Texts.Headline(n));
+ html.Append("
").Append(WebUtility.HtmlEncode(Texts.Headline(n))).Append("");
+ if (n.Summary is { } summary)
+ {
+ text.AppendLine(summary);
+ html.Append("
").Append(WebUtility.HtmlEncode(summary));
+ }
+
+ if (n.Url is { } url)
+ {
+ text.AppendLine(url.ToString());
+ html.Append("
Åbn i SQLInsight");
+ }
+
+ text.AppendLine();
+ html.Append("
");
+ }
+
+ html.Append("
Sendt af SQLInsight Pro
");
+ message.Body = new BodyBuilder { TextBody = text.ToString(), HtmlBody = html.ToString() }.ToMessageBody();
+ return message;
+ }
+}
diff --git a/src/SQLInsight.Notifications/HttpChannels.cs b/src/SQLInsight.Notifications/HttpChannels.cs
new file mode 100644
index 0000000..e930ebd
--- /dev/null
+++ b/src/SQLInsight.Notifications/HttpChannels.cs
@@ -0,0 +1,104 @@
+using System.Net.Http.Json;
+using System.Security.Cryptography;
+using System.Text;
+using System.Text.Json;
+using SQLInsight.Core.Findings;
+
+namespace SQLInsight.Notifications;
+
+///