{"id":745,"date":"2012-02-28T11:29:57","date_gmt":"2012-02-28T09:29:57","guid":{"rendered":"http:\/\/hen.co.za\/blog\/?p=745"},"modified":"2012-02-28T11:29:57","modified_gmt":"2012-02-28T09:29:57","slug":"mail-aggregator-service-update","status":"publish","type":"post","link":"https:\/\/hen.co.za\/blog\/2012\/02\/mail-aggregator-service-update\/","title":{"rendered":"Mail Aggregator Service update"},"content":{"rendered":"<p>Just a quick update. I&#8217;ve now added a &#8216;Sql aggregator&#8217; as well. This means there are now 2 ways aggregated messages can be sourced &#8211; from text files or Sql server data.<\/p>\n<p>The &#8216;sql aggregator&#8217; can use any existing table with messages by simply adding a bit field that indicates whether or not the message (in the table) has already been sent or not. The aggregator simply calls one stored proc (or if you want to a plain tsql statement can be used but I don&#8217;t recommend it) to retrieve any messages that must be send. This list must contains a message Id, &#8216;to&#8217; address, subject and a body field. How you get by them combining fields, texts and other stuff is up to the creator of the stored proc. Once sent the &#8216;sql aggregator&#8217; then calls a second stored proc passing the message Id to mark the message as sent. The sql parameter must be named &#8216;@Id&#8217; and be an &#8216;int&#8217;.<\/p>\n<p>An example sql script to modify the <a title=\"QuickMon\" href=\"http:\/\/quickmon.codeplex.com\" target=\"_blank\">QuickMon <\/a>sql notifier table plus two stored procedures are included in the sample project.<\/p>\n<p>Eample source: <a href=\"https:\/\/hen.co.za\/blog\/wp-content\/uploads\/2012\/02\/MailAggregatorSource2.zip\">MailAggregator Source code<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Just a quick update. I&#8217;ve now added a &#8216;Sql aggregator&#8217; as well. This means there are now 2 ways aggregated messages can be sourced &#8211; from text files or Sql server data. The &#8216;sql aggregator&#8217; can use any existing table &hellip;<\/p>\n<p class=\"read-more\"><a href=\"https:\/\/hen.co.za\/blog\/2012\/02\/mail-aggregator-service-update\/\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,6],"tags":[7,138,139,8,9,37,303,137,140,135,63,304,93],"class_list":["post-745","post","type-post","status-publish","format-standard","hentry","category-development","category-projects","tag-net","tag-aggregate","tag-aggregator","tag-c","tag-code","tag-database","tag-development","tag-mail","tag-message","tag-messages","tag-monitoring","tag-projects","tag-quickmon"],"_links":{"self":[{"href":"https:\/\/hen.co.za\/blog\/wp-json\/wp\/v2\/posts\/745","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hen.co.za\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hen.co.za\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hen.co.za\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hen.co.za\/blog\/wp-json\/wp\/v2\/comments?post=745"}],"version-history":[{"count":4,"href":"https:\/\/hen.co.za\/blog\/wp-json\/wp\/v2\/posts\/745\/revisions"}],"predecessor-version":[{"id":750,"href":"https:\/\/hen.co.za\/blog\/wp-json\/wp\/v2\/posts\/745\/revisions\/750"}],"wp:attachment":[{"href":"https:\/\/hen.co.za\/blog\/wp-json\/wp\/v2\/media?parent=745"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hen.co.za\/blog\/wp-json\/wp\/v2\/categories?post=745"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hen.co.za\/blog\/wp-json\/wp\/v2\/tags?post=745"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}