{"id":13149,"date":"2024-05-30T11:12:49","date_gmt":"2024-05-30T10:12:49","guid":{"rendered":"https:\/\/www.20i.com\/blog\/?p=13149"},"modified":"2026-07-09T17:44:25","modified_gmt":"2026-07-09T16:44:25","slug":"sendportal-review","status":"publish","type":"post","link":"https:\/\/www.20i.com\/blog\/sendportal-review\/","title":{"rendered":"SendPortal Review"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In this first impressions review I\u2019m going to have a look at self-hosted email marketing software <a href=\"https:\/\/sendportal.io\/\">SendPortal<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">How easy is it to install and set-up, how good are the features and should you use it for your next project?<\/p>\n\n\n\n\n\n<h2 class=\"wp-block-heading\">What is SendPortal?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SendPortal is open-source, self-hosted email marketing software to help manage your email campaigns.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SendPortal acts as a control panel for your email marketing, but doesn\u2019t send any emails itself: it acts as a GUI to integrate with email sending services such as <a href=\"https:\/\/www.mailgun.com\" target=\"_blank\" rel=\"noreferrer noopener\">Mailgun<\/a>, <a href=\"https:\/\/www.mailjet.com\" target=\"_blank\" rel=\"noreferrer noopener\">Mailjet<\/a> or <a href=\"https:\/\/sendgrid.com\" target=\"_blank\" rel=\"noreferrer noopener\">Sendgrid<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How easy is it to install SendPortal?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SendPortal is available as a one-click app on our <a href=\"https:\/\/www.20i.com\/managed-hosting\">Managed Hosting<\/a> and <a href=\"https:\/\/www.20i.com\/reseller-hosting\">Reseller Hosting<\/a>, so installing SendPortal was as easy as it gets.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you use a host that doesn\u2019t include SendPortal in their one-click apps, their official set up guide can be found here: <a href=\"https:\/\/sendportal.io\/docs\/v2\">https:\/\/sendportal.io\/docs\/v2<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s worth noting that manual installation is not as easy as the likes of WordPress and does require a certain degree of dev skills, using Git and <a href=\"https:\/\/getcomposer.org\/\">Composer<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setting up SendPortal<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SendPortal smoothly walks me through the technical setup, and it\u2019s clear what information is required at each stage to progress.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac5b13bace49&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac5b13bace49\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1180\" height=\"798\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/sendportal-onboarding.png\" alt=\"Screenshot of SendPortal's setup page\" class=\"wp-image-13150\" srcset=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/sendportal-onboarding.png 1180w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/sendportal-onboarding-300x203.png.webp 300w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/sendportal-onboarding-768x519.png.webp 768w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/sendportal-onboarding-400x271.png.webp 400w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/sendportal-onboarding-800x541.png.webp 800w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/sendportal-onboarding-832x563.png.webp 832w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/sendportal-onboarding-150x101.png.webp 150w\" sizes=\"auto, (max-width: 1180px) 100vw, 1180px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once I\u2019ve created my account and logged in; I\u2019m left on my own. There are no onboarding prompts or on-screen guides on what to do next.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac5b13badd4e&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac5b13badd4e\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1903\" height=\"873\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/5-first-log-in-to-control-panel.png\" alt=\"Screenshot of SendPortal dashboard\" class=\"wp-image-13159\" srcset=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/5-first-log-in-to-control-panel.png 1903w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/5-first-log-in-to-control-panel-300x138.png.webp 300w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/5-first-log-in-to-control-panel-768x352.png.webp 768w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/5-first-log-in-to-control-panel-1536x705.png.webp 1536w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/5-first-log-in-to-control-panel-370x170.png.webp 370w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/5-first-log-in-to-control-panel-270x124.png.webp 270w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/5-first-log-in-to-control-panel-570x261.png.webp 570w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/5-first-log-in-to-control-panel-740x339.png.webp 740w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/5-first-log-in-to-control-panel-150x69.png.webp 150w\" sizes=\"auto, (max-width: 1903px) 100vw, 1903px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s a small niggle, and to be fair most people using this software will be experienced enough to work out the next steps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I know I\u2019ll need to connect SendPortal to an email service to starting sending emails, so I\u2019m going to go there first.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac5b13baebce&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac5b13baebce\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1899\" height=\"823\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/5-connect-email-service.png\" alt=\"Screenshot of SendPortal Email Services dashboard\" class=\"wp-image-13151\" srcset=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/5-connect-email-service.png 1899w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/5-connect-email-service-300x130.png.webp 300w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/5-connect-email-service-768x333.png.webp 768w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/5-connect-email-service-1536x666.png.webp 1536w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/5-connect-email-service-370x160.png.webp 370w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/5-connect-email-service-270x117.png.webp 270w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/5-connect-email-service-570x247.png.webp 570w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/5-connect-email-service-740x321.png.webp 740w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/5-connect-email-service-150x65.png.webp 150w\" sizes=\"auto, (max-width: 1899px) 100vw, 1899px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Looks promising and it is very easy to actually do.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac5b13baf7ff&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac5b13baf7ff\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"634\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/6-connect-email-service.png\" alt=\"Screenshot of &quot;SendPortal Create Email Service&quot; interface\" class=\"wp-image-13152\" srcset=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/6-connect-email-service.png 975w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/6-connect-email-service-300x195.png.webp 300w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/6-connect-email-service-768x499.png.webp 768w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/6-connect-email-service-370x241.png.webp 370w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/6-connect-email-service-270x176.png.webp 270w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/6-connect-email-service-570x371.png.webp 570w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/6-connect-email-service-740x481.png.webp 740w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/6-connect-email-service-150x98.png.webp 150w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once you\u2019ve added your credentials, you can run a quick test to make sure it is all set up correctly.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac5b13bb0564&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac5b13bb0564\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"853\" height=\"531\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/7-test-email-set-up.png\" alt=\"Screenshot of the SendPortal Text Email Service interface\" class=\"wp-image-13160\" srcset=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/7-test-email-set-up.png 853w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/7-test-email-set-up-300x187.png.webp 300w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/7-test-email-set-up-768x478.png.webp 768w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/7-test-email-set-up-370x230.png.webp 370w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/7-test-email-set-up-270x168.png.webp 270w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/7-test-email-set-up-570x355.png.webp 570w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/7-test-email-set-up-740x461.png.webp 740w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/7-test-email-set-up-150x93.png.webp 150w\" sizes=\"auto, (max-width: 853px) 100vw, 853px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Campaigns in SendPortal<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The campaign creation content builder is very basic if you\u2019re used to the likes of MailChimp\u2019s WYSIWYG GUI.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac5b13bb146f&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac5b13bb146f\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1170\" height=\"918\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/8-create-campaign.png\" alt=\"Screenshot of the SendPortal Create Campaign interface\" class=\"wp-image-13153\" srcset=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/8-create-campaign.png 1170w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/8-create-campaign-300x235.png.webp 300w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/8-create-campaign-768x603.png.webp 768w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/8-create-campaign-370x290.png.webp 370w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/8-create-campaign-270x212.png.webp 270w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/8-create-campaign-570x447.png.webp 570w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/8-create-campaign-740x581.png.webp 740w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/8-create-campaign-150x118.png.webp 150w\" sizes=\"auto, (max-width: 1170px) 100vw, 1170px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You can put together a simple email using the style editor, but nothing fancy. This is really for users who can copy and paste in existing HTML through the code view.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SendPortal let\u2019s you build and save \u2018Templates\u2019 to reuse content and designs across your campaigns. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dynamic templating system also allows you to insert subscriber details (e.g. their name) into your templates.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s a quick example using a <a href=\"https:\/\/github.com\/leemunroe\/responsive-html-email-template\">free HTML template<\/a> from Github.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The code:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac5b13bb2647&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac5b13bb2647\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1854\" height=\"907\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/SendPortal-template-code.png\" alt=\"Screenshot of the SendPortal email template creation interface\" class=\"wp-image-13154\" srcset=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/SendPortal-template-code.png 1854w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-template-code-300x147.png.webp 300w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-template-code-768x376.png.webp 768w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-template-code-1536x751.png.webp 1536w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-template-code-370x181.png.webp 370w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-template-code-270x132.png.webp 270w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-template-code-570x279.png.webp 570w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-template-code-740x362.png.webp 740w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-template-code-150x73.png.webp 150w\" sizes=\"auto, (max-width: 1854px) 100vw, 1854px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The preview:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac5b13bb34b2&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac5b13bb34b2\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1850\" height=\"933\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/SendPortal-template-preview.png\" alt=\"Screenshot showing the rendered version of a template in SendPortal\" class=\"wp-image-13155\" srcset=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/SendPortal-template-preview.png 1850w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-template-preview-300x151.png.webp 300w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-template-preview-768x387.png.webp 768w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-template-preview-1536x775.png.webp 1536w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-template-preview-370x187.png.webp 370w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-template-preview-270x136.png.webp 270w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-template-preview-570x287.png.webp 570w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-template-preview-740x373.png.webp 740w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-template-preview-150x76.png.webp 150w\" sizes=\"auto, (max-width: 1850px) 100vw, 1850px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In \u2018Campaigns\u2019 I can now select that template to help build my email.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Subscribers<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SendPortal allows you to easily import multiple subscribers via a CSV upload. This can be used to create new subscribers and update existing ones.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac5b13bb4596&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac5b13bb4596\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"914\" height=\"475\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/9-create-subscriber.png\" alt=\"Screenshot showing the Create Subscriber interface of SendPortal\" class=\"wp-image-13156\" srcset=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/9-create-subscriber.png 914w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/9-create-subscriber-300x156.png.webp 300w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/9-create-subscriber-768x399.png.webp 768w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/9-create-subscriber-370x192.png.webp 370w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/9-create-subscriber-270x140.png.webp 270w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/9-create-subscriber-570x296.png.webp 570w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/9-create-subscriber-740x385.png.webp 740w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/9-create-subscriber-150x78.png.webp 150w\" sizes=\"auto, (max-width: 914px) 100vw, 914px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The following information can be saved for each Subscriber:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Email<\/li>\n\n\n\n<li>First name (optional)<\/li>\n\n\n\n<li>Last name (optional)<\/li>\n\n\n\n<li>Subscription status<\/li>\n\n\n\n<li>Tags (optional)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The tags feature is useful to implement a level of segmentation within your subscribers e.g. How much they spend, the products they\u2019ve bought, their geographic location etc.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac5b13bb58dd&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac5b13bb58dd\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1648\" height=\"350\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/10-subscriber-tags.png\" alt=\"Screenshot showing the list of subscribers in SendPortal\" class=\"wp-image-13157\" srcset=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/10-subscriber-tags.png 1648w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/10-subscriber-tags-300x64.png.webp 300w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/10-subscriber-tags-768x163.png.webp 768w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/10-subscriber-tags-1536x326.png.webp 1536w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/10-subscriber-tags-370x79.png.webp 370w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/10-subscriber-tags-270x57.png.webp 270w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/10-subscriber-tags-570x121.png.webp 570w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/10-subscriber-tags-740x157.png.webp 740w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/10-subscriber-tags-150x32.png.webp 150w\" sizes=\"auto, (max-width: 1648px) 100vw, 1648px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Account admin<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">With no billing or subscription fees, there aren\u2019t a huge amount of options related to administering the account.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The only quirk came when I wanted to add more workspace members. The process is a bit clunky for a modern SaaS product, and it would be useful if it linked to a support article with steps on how to do this.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6ac5b13bb68e8&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ac5b13bb68e8\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1856\" height=\"824\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/SendPortal-workspace-users.png\" alt=\"Screenshot of the Manage Users section of the SendPortal admin space\" class=\"wp-image-13158\" srcset=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2024\/05\/SendPortal-workspace-users.png 1856w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-workspace-users-300x133.png.webp 300w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-workspace-users-768x341.png.webp 768w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-workspace-users-1536x682.png.webp 1536w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-workspace-users-370x164.png.webp 370w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-workspace-users-270x120.png.webp 270w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-workspace-users-570x253.png.webp 570w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-workspace-users-740x329.png.webp 740w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2024\/05\/SendPortal-workspace-users-150x67.png.webp 150w\" sizes=\"auto, (max-width: 1856px) 100vw, 1856px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Final thoughts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SendPortal is a great choice to implement a simple GUI with your email sending platform. It\u2019s free, easy to set up (with 20i) and has the features you need to manage your email campaigns.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Have you used SendPortal? Let us know about your experiences in the comments below.<\/p>\n\n\n<div class='code-block code-block-5' style='margin: 8px 0; clear: both;'>\n<hr>\n<br \/><a href=\"https:\/\/www.20i.com\/managed-cloud-servers\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2026\/03\/Blog-Ad-MCS-1200x625-1.png\" loading=\"lazy\" alt=\"Managed Cloud Hosting\"><\/a><\/div>\n\n","protected":false},"excerpt":{"rendered":"In this first impressions review I\u2019m going to have a look at self-hosted email marketing software SendPortal. How&hellip;","protected":false},"author":13,"featured_media":17290,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"csco_singular_sidebar":"","csco_page_header_type":"","csco_page_load_nextpost":"","footnotes":""},"categories":[91],"tags":[83,161],"class_list":["post-13149","post","type-post","status-publish","format-standard","has-post-thumbnail","category-review","tag-email","tag-review","cs-entry"],"_links":{"self":[{"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/posts\/13149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/comments?post=13149"}],"version-history":[{"count":11,"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/posts\/13149\/revisions"}],"predecessor-version":[{"id":17291,"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/posts\/13149\/revisions\/17291"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/media\/17290"}],"wp:attachment":[{"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/media?parent=13149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/categories?post=13149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/tags?post=13149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}