{"componentChunkName":"component---src-templates-blog-post-js","path":"/blog/send-emails-with-nodejs/","result":{"data":{"site":{"siteMetadata":{"title":"The Official MailPace Blog","author":"Paul, founder of MailPace"}},"mdx":{"id":"995a492c-8958-5090-87de-55e26b9585ab","excerpt":"We're pleased to announce the availability of our open source Node.js package for sending emails over MailPace. This is probably the  easiest way to send…","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Send transactional emails with Node.js over MailPace\",\n  \"date\": \"2021-02-04T22:12:03.284Z\",\n  \"description\": \"Node.js package launch 🚀\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"We\\u2019re pleased to announce the availability of our open source Node.js package for sending emails over MailPace.\"), mdx(\"p\", null, \"This is probably the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"easiest way to send transactional emails from Node.js!\"), \" \"), mdx(\"p\", null, \"The npm package allows you to send emails in a couple of lines of code, it\\u2019s a simple as creating a client with your API token, and calling \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"sendEmail\"), \" with your email contents (see here for a full list of email properties: \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://docs.mailpace.com/reference/send\"\n  }, \"https://docs.mailpace.com/reference/send\"), \"):\"), mdx(\"pre\", {\n    \"className\": \"grvsc-container default-dark\",\n    \"data-language\": \"javascript\",\n    \"data-index\": \"0\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"grvsc-code\"\n  }, mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk4\"\n  }, \"const\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk12\"\n  }, \"MailPace\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" = \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk11\"\n  }, \"require\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"(\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk8\"\n  }, \"'@mailpace/mailpace.js'\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \");\")), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk4\"\n  }, \"const\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk12\"\n  }, \"client\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" = \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk4\"\n  }, \"new\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk10\"\n  }, \"MailPace\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \".\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk10\"\n  }, \"DomainClient\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"(\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk8\"\n  }, \"'API_TOKEN_HERE'\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \");\")), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk12\"\n  }, \"client\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \".\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk11\"\n  }, \"sendEmail\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"({\")), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"    \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk12\"\n  }, \"from:\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk8\"\n  }, \"'test@test.com'\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \",\")), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"    \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk12\"\n  }, \"to:\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk8\"\n  }, \"'test@test.com'\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \",\")), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"    \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk12\"\n  }, \"subject:\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk8\"\n  }, \"'test'\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \",\")), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"    \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk12\"\n  }, \"htmlbody:\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \" \"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk8\"\n  }, \"'<H1>HTML Email</h1>'\"), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \",\")), \"\\n\", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"grvsc-line\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mtk1\"\n  }, \"  });\")))), mdx(\"p\", null, \"The package is available on npm here: \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://www.npmjs.com/package/@mailpace/mailpace.js\"\n  }, \"https://www.npmjs.com/package/@mailpace/mailpace.js\")), mdx(\"p\", null, \"Source code here: \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/mailpace/mailpace.js\"\n  }, \"https://github.com/mailpace/mailpace.js\")), mdx(\"p\", null, \"And finally the docs: \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://docs.mailpace.com/integrations/node\"\n  }, \"https://docs.mailpace.com/integrations/node\")), mdx(\"p\", null, \"If you don\\u2019t have an OMS account, get one set up today: \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://app.mailpace.com/users/sign_up\"\n  }, \"https://app.mailpace.com/users/sign_up\")), mdx(\"p\", null, \"Happy sending!\\nPaul.\"), mdx(\"style\", {\n    \"className\": \"grvsc-styles\"\n  }, \"\\n  .grvsc-container {\\n    overflow: auto;\\n    -webkit-overflow-scrolling: touch;\\n    padding-top: 1rem;\\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\\n    padding-bottom: 1rem;\\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\\n    border-radius: 8px;\\n    border-radius: var(--grvsc-border-radius, 8px);\\n    font-feature-settings: normal;\\n  }\\n  \\n  .grvsc-code {\\n    display: inline-block;\\n    min-width: 100%;\\n  }\\n  \\n  .grvsc-line {\\n    display: inline-block;\\n    box-sizing: border-box;\\n    width: 100%;\\n    padding-left: 1.5rem;\\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\\n    padding-right: 1.5rem;\\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\\n  }\\n  \\n  .grvsc-line-highlighted {\\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\\n  }\\n  \\n  .default-dark {\\n    background-color: #1E1E1E;\\n    color: #D4D4D4;\\n  }\\n  .default-dark .mtk4 { color: #569CD6; }\\n  .default-dark .mtk1 { color: #D4D4D4; }\\n  .default-dark .mtk12 { color: #9CDCFE; }\\n  .default-dark .mtk11 { color: #DCDCAA; }\\n  .default-dark .mtk8 { color: #CE9178; }\\n  .default-dark .mtk10 { color: #4EC9B0; }\\n\"));\n}\n;\nMDXContent.isMDXComponent = true;","frontmatter":{"title":"Send transactional emails with Node.js over MailPace","date":"February 04, 2021","description":"Node.js package launch 🚀"}}},"pageContext":{"slug":"/send-emails-with-nodejs/","previous":{"fields":{"slug":"/send-emails-with-rails/"},"frontmatter":{"title":"Send emails with Rails over MailPace"}},"next":{"fields":{"slug":"/send-emails-over-smtp/"},"frontmatter":{"title":"Send emails over SMTP with MailPace.com"}}}},"staticQueryHashes":["1956864136","63159454"]}