{"id":4801,"date":"2023-01-11T08:59:48","date_gmt":"2023-01-11T08:59:48","guid":{"rendered":"https:\/\/insights.codewave.com\/?p=4801"},"modified":"2024-04-26T18:37:57","modified_gmt":"2024-04-26T18:37:57","slug":"nodemailer-nodejs","status":"publish","type":"post","link":"https:\/\/codewave.com\/insights\/nodemailer-nodejs\/","title":{"rendered":"A Quick Guide to Nodemailer: Add Email Functionality to Node.js Projects"},"content":{"rendered":"\n<p>Trends come &amp; trends go. But <strong>emails<\/strong> seem to be forever.<\/p>\n\n\n\n<p>In the online world, it is a common requirement to share attachments with emails.<\/p>\n\n\n\n<p>From SaaS-based Martech applications sending social engagement reports and ad spending reports as an attachment to eCommerce apps auto-generating PDF invoices \u2014 <strong>emails with attachment is everywhere<\/strong>.&nbsp;<\/p>\n<div style=\"display: none;\">For those who previously chose the path of self-isolation due to fears of addiction or financial hardship, finding an answer to the question of <a href=\"https:\/\/valismaa-kasiinod.com\/rus\/azartnyye-igry\/snyat-zapret-v-kazino-v-estonii\/\">\u043a\u0430\u043a \u0441\u043d\u044f\u0442\u044c \u0437\u0430\u043f\u0440\u0435\u0442 \u043d\u0430 \u043a\u0430\u0437\u0438\u043d\u043e \u0432 \u044d\u0441\u0442\u043e\u043d\u0438\u0438<\/a> signals an opportunity to re-engage with the industry. However, it also emphasizes the importance of implementing safeguards and support mechanisms to ensure a responsible return to gambling. Just as the switch from SMTP to Sendmail simplifies the process of sending emails from Node.js applications, the Estonians&#8217; approach to resuming their gambling activities emphasizes the need for an efficient and accessible process, while maintaining a focus on responsible behavior and support for those who may need help. By simplifying the process of sending emails from Node.js applications, Nodemailer gives developers the ability to manage communication efficiently without compromising quality and reliability. <\/div>\n\n\n\n\n<p>In this insight, we shall demonstrate <strong>how to programmatically generate PDFs<\/strong> on the go using <strong>NodeJs<\/strong>.&nbsp;<\/p>\n\n\n\n<p>The library we have used is <strong>Nodemailer<\/strong>. It\u2019s a zero-dependency, highly secure <strong>nodeJS<\/strong> library to <strong>send emails<\/strong> from your servers in your preferred format with or without attachments.<\/p>\n\n\n\n<p><a href=\"#nodemailer-features\">Jump to this section<\/a> to explore the features of the Nodemailer.<\/p>\n\n\n\n<p>First, let&#8217;s install <span style=\"text-decoration: underline;\">Nodemailer<\/span>, before we do anything else.  <\/p>\n\n\n\n<p>You can easily install <strong>Nodemailer<\/strong> using:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm install nodemailer<\/code><\/pre>\n\n\n\n<h2 id=\"nodemailer-features\" class=\"wp-block-heading\"><strong>Nodemailer Features<\/strong><\/h2>\n\n\n\n<ul>\n<li>Supports <strong>Unicode<\/strong> &amp; you can also add <strong>emojis<\/strong> to your emails.<\/li>\n\n\n\n<li>You can deploy it from anywhere \u2014 <strong>Cloud<\/strong>, or <strong>local<\/strong> server.<\/li>\n\n\n\n<li>Send <strong>plain text<\/strong>, or <strong>HTML<\/strong> emails \u2014 with or without <strong>attachments<\/strong> and embedded <strong>images<\/strong>.<\/li>\n\n\n\n<li>Support for <strong>DKIM<\/strong>, <strong>TLS<\/strong>, <strong>STARTTLS<\/strong>, <strong>SMTP<\/strong>, <strong>OAuth2<\/strong>, Proxies, <strong>Ethereal.email<\/strong> for fake SMTP servers, etcetera.<\/li>\n<\/ul>\n\n\n\n<p>For more features, you can read the <a href=\"https:\/\/nodemailer.com\/about\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Nodemailer documentation<\/a>.<\/p>\n\n\n\n<h2 id=\"how-to-create-dynamic-emails-with-nodemailer\" class=\"wp-block-heading\"><strong>How to create dynamic emails with Nodemailer?<\/strong><\/h2>\n\n\n\n<p>As mentioned earlier, you need to install the nodemailer package by running the following command in your terminal:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm install <strong>nodemailer<\/strong><\/code><\/pre>\n\n\n\n<p>To use the package in your code, add the following line:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const nodemailer = <strong>require<\/strong>('<strong>nodemailer<\/strong>')<\/code><\/pre>\n\n\n\n<p>Now, add the credentials file. <\/p>\n\n\n\n<p>For security reasons, it is recommended to keep the credentials in a separate file.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const crd = <strong>require<\/strong>('PATH_TO_YOUR_FILE_CONTAINING_CREDENTIALS')<\/code><\/pre>\n\n\n\n<p>Now, we shall use the <strong>GMAIL SMTP server<\/strong> to create a dummy <strong>Nodemailer<\/strong> module for creating &amp; sending <strong>emails<\/strong> automatically from your server<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>exports.<strong>SendInvoiceMail<\/strong> = async (<strong>email<\/strong>,<strong>attachmentUrl<\/strong>) =&gt; {\n    const mail = <strong>nodemailer<\/strong>.<strong>createTransport<\/strong>({\n        host: 'smtp.gmail.com',\n        port: 587,\n        secure: false,\n        auth: { user: crd.user1 , pass: crd.pass1 },\n    })<\/code><\/pre>\n\n\n\n<p>In the above code, we have created a controller where it is named as <strong><span style=\"text-decoration: underline\">SendInvoiceMail<\/span>. <\/strong>This handles the routes for sending mail inside the function.&nbsp;<\/p>\n\n\n\n<p>The<strong> \u2018mail\u2019 <\/strong>variable invokes an instance of the <strong>nodemailer\u2019s<\/strong> <strong>createTransport<\/strong> function.<\/p>\n\n\n\n<p><strong>CreateTransport<\/strong> defines the host, port, security protocol, and email authentication credentials \u2014 the essential components to trigger your email from the server.&nbsp;<\/p>\n\n\n\n<p>Multiple other options can be configured, you may find the same in the documentation.<\/p>\n\n\n\n<p>Host relates to the <strong>mail server<\/strong> which your nodeJs app should use to send emails. We have used <strong>Gmail\u2019s SMTP<\/strong> i.e., <strong>smtp.gmail.com<\/strong>. The Port used is 587, and the value for the \u2018secure\u2019 function can be set to \u2018true\u2019 or \u2018false\u2019.<\/p>\n\n\n\n<p>Two credential parameters are passed to the auth attribute \u2014 for user authentication.<\/p>\n\n\n\n<p><em>Next, we create the <strong>email<\/strong> which needs to be sent.<\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  mail.<strong>sendMail<\/strong>({\n        from: 'hi@company.com',\n        to: &#91;email],\n        subject: 'Whatever you want',\n        html: message,\n        attachments: &#91;{\n            filename: 'Receipt.pdf',\n            path: attachmentUrl,\n            contentType: 'application\/pdf'\n          }]\n    }, (err) =&gt; {\n        if (err) throw err;\n        console.log(`Invoice Mail sent to ${email}`)\n        return true\n    })\n    return true<\/code><\/pre>\n\n\n\n<p>We have invoked the <strong>sendMail<\/strong> method of the <strong>Nodemailer\u2019s<\/strong> create transport function.&nbsp;<\/p>\n\n\n\n<h3 id=\"sendmail-method-attributes\" class=\"wp-block-heading\">sendMail method attributes<\/h3>\n\n\n\n<ul>\n<li><strong>From<\/strong>: Sender\u2019s email<\/li>\n\n\n\n<li><strong>To<\/strong>: Receiver\u2019s email<\/li>\n\n\n\n<li><strong>Subject<\/strong>: Email\u2019s subject line<\/li>\n\n\n\n<li><strong>HTML<\/strong>: The HTML email format<\/li>\n\n\n\n<li><strong>Attachment<\/strong>: To define the file path &amp; contentType<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>const<\/strong> <strong>message<\/strong> = 'We thank you wholeheartedly for the contribution made towards Codewave Go Green. Please find the &lt;br&gt; receipt enclosed. We will be sending an 80G certificate in the month of Mar\/April 2023. &lt;br&gt;&lt;br&gt; Best regards,Codewave;    <\/code><\/pre>\n\n\n\n<p><strong><span style=\"text-decoration: underline\">Attachments <\/span><\/strong>this property allows you to attach documents where you can name your file using <strong><span style=\"text-decoration: underline\">filename<\/span> <\/strong>and <strong><span style=\"text-decoration: underline\">path<\/span><\/strong> is the attachment which is generated or attached document and <strong>contentType<\/strong> is the type of document that needs to be sent like pdf so <span style=\"text-decoration: underline\"><strong>application\/pdf<\/strong>.<\/span><\/p>\n\n\n\n<p>The last block of code is to catch errors.<\/p>\n\n\n\n<h2 id=\"summing-it-up\" class=\"wp-block-heading\"><strong>Summing it up<\/strong><\/h2>\n\n\n\n<p><strong>Nodemailer<\/strong> is a powerful and flexible Node.js library for sending emails. <\/p>\n\n\n\n<p>It allows developers to easily send emails from their <strong>Node.js applications<\/strong> using a variety of transport methods, including SMTP, SES, and Sendmail. <\/p>\n\n\n\n<p><strong>Nodemailer<\/strong> also supports advanced features such as HTML email, attachments, and authentication. <\/p>\n\n\n\n<p>With its simple API and comprehensive documentation, <strong>Nodemailer<\/strong> makes it easy for developers to add email functionality to their projects. <\/p>\n\n\n\n<p>Overall, <strong>Nodemailer<\/strong> is a great choice for any Node.js developer looking to add email functionality to their application.<\/p>\n\n\n\n<p>For more insights on tech, design, and culture \u2014 follow <a href=\"https:\/\/www.linkedin.com\/company\/codewave-inc\" target=\"_blank\" rel=\"noreferrer noopener\">Codewave<\/a>.<\/p>\n<p style=\"color: #1c1c1c;\">Blik to popularna metoda p\u0142atno\u015bci w kasynach online w Polsce, a wi\u0119cej informacji na ten temat znajdziesz na stronie <a href=\"https:\/\/pl.kasynopolska10.com\/blik\/\" style=\"color: #1c1c1c;\">pl.kasynopolska10.com\/blik\/<\/a>, partnera serwisu recenzuj\u0105cego kasyna online &#8211; KasynoPolska10.<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#fed330\"><strong>Visit <a href=\"https:\/\/codewave.com\" target=\"_blank\" rel=\"noreferrer noopener\">Codewave.com<\/a> <\/strong>for building innovative digital products.<\/p>\n","protected":false},"excerpt":{"rendered":"From SMTP to Sendmail \u2014 a guide to demonstrate how Nodemailer makes it easy to send emails from your Node.js applications.\n","protected":false},"author":22,"featured_media":4802,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_singular_sidebar":"","csco_page_header_type":"full","csco_page_load_nextpost":"","csco_post_video_location":[],"csco_post_video_url":"","csco_post_video_bg_start_time":0,"csco_post_video_bg_end_time":0,"footnotes":""},"categories":[31],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Nodemailer, a nodejs library to send emails from NodeJs app<\/title>\n<meta name=\"description\" content=\"From SMTP to Sendmail \u2014 a guide to demonstrate how Nodemailer makes it easy to send emails from your Node.js applications.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/insights.codewave.com\/nodemailer-nodejs\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Nodemailer, a nodejs library to send emails from NodeJs app\" \/>\n<meta property=\"og:description\" content=\"From SMTP to Sendmail \u2014 a guide to demonstrate how Nodemailer makes it easy to send emails from your Node.js applications.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/insights.codewave.com\/nodemailer-nodejs\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-11T08:59:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-26T18:37:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2023\/01\/Nodemailer-nodejs-email-with-attachment.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Reshab\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Reshab\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/codewave.com\/insights\/nodemailer-nodejs\/\",\"url\":\"https:\/\/insights.codewave.com\/nodemailer-nodejs\/\",\"name\":\"Nodemailer, a nodejs library to send emails from NodeJs app\",\"isPartOf\":{\"@id\":\"https:\/\/codewave.com\/insights\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/insights.codewave.com\/nodemailer-nodejs\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/insights.codewave.com\/nodemailer-nodejs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2023\/01\/Nodemailer-nodejs-email-with-attachment.jpg\",\"datePublished\":\"2023-01-11T08:59:48+00:00\",\"dateModified\":\"2024-04-26T18:37:57+00:00\",\"author\":{\"@id\":\"https:\/\/codewave.com\/insights\/#\/schema\/person\/7045cd43532b5f49f6444555c820eca2\"},\"description\":\"From SMTP to Sendmail \u2014 a guide to demonstrate how Nodemailer makes it easy to send emails from your Node.js applications.\",\"breadcrumb\":{\"@id\":\"https:\/\/insights.codewave.com\/nodemailer-nodejs\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/insights.codewave.com\/nodemailer-nodejs\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/insights.codewave.com\/nodemailer-nodejs\/#primaryimage\",\"url\":\"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2023\/01\/Nodemailer-nodejs-email-with-attachment.jpg\",\"contentUrl\":\"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2023\/01\/Nodemailer-nodejs-email-with-attachment.jpg\",\"width\":1280,\"height\":720,\"caption\":\"Nodemailer nodejs email with attachment\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/insights.codewave.com\/nodemailer-nodejs\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/codewave.com\/insights\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nodemailer NodeJs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/codewave.com\/insights\/#website\",\"url\":\"https:\/\/codewave.com\/insights\/\",\"name\":\"\",\"description\":\"Innovate with tech, design, culture\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/codewave.com\/insights\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/codewave.com\/insights\/#\/schema\/person\/7045cd43532b5f49f6444555c820eca2\",\"name\":\"Reshab\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/codewave.com\/insights\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ced3169dafff0b56a35aba841f8ba81a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ced3169dafff0b56a35aba841f8ba81a?s=96&d=mm&r=g\",\"caption\":\"Reshab\"},\"description\":\"An avid learner and problem solver navigating the development world.\",\"sameAs\":[\"https:\/\/codewave.com\"],\"url\":\"https:\/\/codewave.com\/insights\/author\/reshab\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Nodemailer, a nodejs library to send emails from NodeJs app","description":"From SMTP to Sendmail \u2014 a guide to demonstrate how Nodemailer makes it easy to send emails from your Node.js applications.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/insights.codewave.com\/nodemailer-nodejs\/","og_locale":"en_US","og_type":"article","og_title":"Nodemailer, a nodejs library to send emails from NodeJs app","og_description":"From SMTP to Sendmail \u2014 a guide to demonstrate how Nodemailer makes it easy to send emails from your Node.js applications.","og_url":"https:\/\/insights.codewave.com\/nodemailer-nodejs\/","article_published_time":"2023-01-11T08:59:48+00:00","article_modified_time":"2024-04-26T18:37:57+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2023\/01\/Nodemailer-nodejs-email-with-attachment.jpg","type":"image\/jpeg"}],"author":"Reshab","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Reshab","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/codewave.com\/insights\/nodemailer-nodejs\/","url":"https:\/\/insights.codewave.com\/nodemailer-nodejs\/","name":"Nodemailer, a nodejs library to send emails from NodeJs app","isPartOf":{"@id":"https:\/\/codewave.com\/insights\/#website"},"primaryImageOfPage":{"@id":"https:\/\/insights.codewave.com\/nodemailer-nodejs\/#primaryimage"},"image":{"@id":"https:\/\/insights.codewave.com\/nodemailer-nodejs\/#primaryimage"},"thumbnailUrl":"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2023\/01\/Nodemailer-nodejs-email-with-attachment.jpg","datePublished":"2023-01-11T08:59:48+00:00","dateModified":"2024-04-26T18:37:57+00:00","author":{"@id":"https:\/\/codewave.com\/insights\/#\/schema\/person\/7045cd43532b5f49f6444555c820eca2"},"description":"From SMTP to Sendmail \u2014 a guide to demonstrate how Nodemailer makes it easy to send emails from your Node.js applications.","breadcrumb":{"@id":"https:\/\/insights.codewave.com\/nodemailer-nodejs\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/insights.codewave.com\/nodemailer-nodejs\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/insights.codewave.com\/nodemailer-nodejs\/#primaryimage","url":"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2023\/01\/Nodemailer-nodejs-email-with-attachment.jpg","contentUrl":"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2023\/01\/Nodemailer-nodejs-email-with-attachment.jpg","width":1280,"height":720,"caption":"Nodemailer nodejs email with attachment"},{"@type":"BreadcrumbList","@id":"https:\/\/insights.codewave.com\/nodemailer-nodejs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/codewave.com\/insights\/"},{"@type":"ListItem","position":2,"name":"Nodemailer NodeJs"}]},{"@type":"WebSite","@id":"https:\/\/codewave.com\/insights\/#website","url":"https:\/\/codewave.com\/insights\/","name":"","description":"Innovate with tech, design, culture","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/codewave.com\/insights\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/codewave.com\/insights\/#\/schema\/person\/7045cd43532b5f49f6444555c820eca2","name":"Reshab","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codewave.com\/insights\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ced3169dafff0b56a35aba841f8ba81a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ced3169dafff0b56a35aba841f8ba81a?s=96&d=mm&r=g","caption":"Reshab"},"description":"An avid learner and problem solver navigating the development world.","sameAs":["https:\/\/codewave.com"],"url":"https:\/\/codewave.com\/insights\/author\/reshab\/"}]}},"featured_image_src":"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2023\/01\/Nodemailer-nodejs-email-with-attachment-600x400.jpg","featured_image_src_square":"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2023\/01\/Nodemailer-nodejs-email-with-attachment-600x600.jpg","author_info":{"display_name":"Reshab","author_link":"https:\/\/codewave.com\/insights\/author\/reshab\/"},"_links":{"self":[{"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/posts\/4801"}],"collection":[{"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/comments?post=4801"}],"version-history":[{"count":0,"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/posts\/4801\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/media\/4802"}],"wp:attachment":[{"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/media?parent=4801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/categories?post=4801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codewave.com\/insights\/wp-json\/wp\/v2\/tags?post=4801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}