{"id":128,"date":"2024-03-19T00:00:00","date_gmt":"2024-03-18T23:00:00","guid":{"rendered":"https:\/\/helloblog.io\/sl\/acorn-mail-zanesljiv-smtp-wordpress-brez-vticnikov\/"},"modified":"2026-01-20T06:33:06","modified_gmt":"2026-01-20T05:33:06","slug":"acorn-mail-zanesljiv-smtp-wordpress-brez-vticnikov","status":"publish","type":"post","link":"https:\/\/helloblog.io\/sl\/acorn-mail-zanesljiv-smtp-wordpress-brez-vticnikov\/","title":{"rendered":"Acorn Mail: bolj zanesljiv SMTP v WordPressu brez klasi\u010dnih SMTP vti\u010dnikov"},"content":{"rendered":"\n<p>\u010ce si kdaj nastavljal po\u0161iljanje e-po\u0161te prek SMTP v WordPressu, ve\u0161, da je to ena tistih zadev, ki se rade zapletejo ravno takrat, ko jih najbolj potrebuje\u0161: na stagingu dela, v produkciji ne; lokalno ima\u0161 druga\u010den port; ali pa SMTP ponudnik zavrne povezavo, WordPress pa ti o tem pove prakti\u010dno ni\u010d. Klasi\u010dni SMTP vti\u010dniki so sicer priljubljena re\u0161itev, a v praksi pogosto prinesejo dodatno plast kompleksnosti, v\u010dasih tudi varnostna tveganja.<\/p>\n\n\n\n<p>Ekipa Roots je zato predstavila <strong><a href=\"https:\/\/github.com\/roots\/acorn-mail\">Acorn Mail<\/a><\/strong> \u2013 paket, ki je namenjen temu, da SMTP v WordPress aplikaciji (znotraj Roots\/Acorn ekosistema) nastavi\u0161 bolj predvidljivo in ga tudi dejansko lahko preizkusi\u0161 z orodjem, ki ti pove, kaj se je zgodilo. Klju\u010dna ideja: konfiguracija prek okoljskih spremenljivk (env) in testiranje prek Acorn CLI.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Zakaj je SMTP v WordPressu pogosto bole\u010dina<\/h2>\n\n\n\n<p>Najpogostej\u0161i problem ni samo nastavitev hosta in porta, ampak zanesljivost \u010dez razli\u010dna okolja. WordPress se pri po\u0161iljanju e-po\u0161te opira na <code>PHPMailer<\/code> (knji\u017enica za po\u0161iljanje e-po\u0161te v PHP), SMTP vti\u010dniki pa se vme\u0161ajo v ta tok prek WordPress hookov (mehanizem, s katerim raz\u0161iritve prestrezajo ali dopolnijo izvajanje jedra).<\/p>\n\n\n\n<p>Ko gre kaj narobe, je tipi\u010den scenarij: klikne\u0161 \u201cSend test email\u201d, dobi\u0161 generi\u010dno sporo\u010dilo ali pa sploh ni\u010d uporabnega, ti pa ostane ugibanje: DNS? TLS? napa\u010dno geslo? blokiran izhodni port na stre\u017eniku? Poleg tega se je v zadnjih letih pokazalo, da lahko imajo SMTP vti\u010dniki tudi varnostne te\u017eave; v Roots objavi je kot primer omenjena ranljivost v enem od SMTP vti\u010dnikov: <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2023-6875\">CVE-2023-6875<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kaj je Acorn Mail in kje se prilega<\/h2>\n\n\n\n<p>Acorn Mail je paket za Roots\/Acorn, ki poenostavi dve stvari: <strong>konfiguracijo SMTP<\/strong> in <strong>testiranje po\u0161iljanja<\/strong>. Namesto UI nastavitev v adminu ali kompleksne konfiguracije v vti\u010dniku uporabi env spremenljivke. Ko so te nastavljene, se Acorn Mail samodejno \u201cpriklopi\u201d na WordPressov <code>PHPMailer<\/code> in nastavi SMTP parametre.<\/p>\n\n\n\n<div class=\"wp-block-group callout callout-info is-style-info is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">Kaj pomeni \u201cAcorn CLI\u201d v praksi?<\/h4>\n\n\n<p>Acorn CLI je ukazna vrstica (CLI), ki jo uporablja Roots Acorn in se obi\u010dajno poganja prek WP-CLI (<code>wp ...<\/code>). Acorn Mail doda svoje ukaze, npr. za objavo konfiguracije in po\u0161iljanje testnega e-maila.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Namestitev prek Composerja<\/h2>\n\n\n\n<p>Acorn Mail se namesti kot Composer odvisnost (smiselno v projektih, kjer WordPress gradi\u0161 bolj \u201caplikacijsko\u201d in \u017ee uporablja\u0161 Acorn).<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>composer require roots\/acorn-mail\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">composer<\/span><span style=\"color:#9ECBFF\"> require<\/span><span style=\"color:#9ECBFF\"> roots\/acorn-mail<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Osnovna konfiguracija: env spremenljivke<\/h2>\n\n\n\n<p>Po namestitvi nastavi\u0161 SMTP poverilnice z okoljskimi spremenljivkami. Prednost tak\u0161nega pristopa je, da so nastavitve naravno lo\u010dene po okoljih (lokalno\/staging\/produkcija) in jih lahko upravlja\u0161 prek secrets v CI\/CD ali konfiguracije gostovanja.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>MAIL_HOST=\nMAIL_PORT=\nMAIL_USERNAME=\nMAIL_PASSWORD=\nMAIL_FROM_ADDRESS=\nMAIL_FROM_NAME=\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#E1E4E8\">MAIL_HOST<\/span><span style=\"color:#F97583\">=<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">MAIL_PORT<\/span><span style=\"color:#F97583\">=<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">MAIL_USERNAME<\/span><span style=\"color:#F97583\">=<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">MAIL_PASSWORD<\/span><span style=\"color:#F97583\">=<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">MAIL_FROM_ADDRESS<\/span><span style=\"color:#F97583\">=<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">MAIL_FROM_NAME<\/span><span style=\"color:#F97583\">=<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Ko Acorn Mail zazna, da te vrednosti niso prazne, samodejno konfigurira WordPressov <code>PHPMailer<\/code> za po\u0161iljanje prek SMTP. To pomeni, da ni potrebe po dodatnem vti\u010dniku, ki bi upravljal te nastavitve v bazi ali adminu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Naprednej\u0161a konfiguracija (publish config)<\/h2>\n\n\n\n<p>\u010ce potrebuje\u0161 ve\u010d nadzora, Acorn Mail omogo\u010da objavo konfiguracijske datoteke <code>mail.php<\/code>. Roots to re\u0161uje prek Acorn ukaza, ki \u201cpublish-a\u201d (izvozi) konfiguracijo v projekt, kjer jo nato prilagaja\u0161.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp acorn mail:config\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> acorn<\/span><span style=\"color:#9ECBFF\"> mail:config<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Najbolj uporabno: testiranje po\u0161iljanja prek CLI<\/h2>\n\n\n\n<p>Najve\u010dja prakti\u010dna prednost je testni ukaz. Namesto klikanja po adminu dobi\u0161 ponovljiv ukaz, ki ga lahko po\u017eene\u0161 lokalno, na stagingu ali celo v produkciji (kontrolirano), in ki ti jasno izpi\u0161e napake v procesu po\u0161iljanja.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp acorn mail:test [--to=]\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> acorn<\/span><span style=\"color:#9ECBFF\"> mail:test<\/span><span style=\"color:#E1E4E8\"> [--to=]<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Opcija <code>--to<\/code> dolo\u010di prejemnika testnega e-maila. \u010ce gre kaj narobe (npr. napa\u010dne poverilnice, TLS pogajanje, blokiran port), je cilj ukaza, da napako prika\u017ee \u201c\u010disto\u201d in neposredno \u2013 brez tistega tipi\u010dnega WordPress \u201cnekaj je \u0161lo narobe\u201d.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kdaj je Acorn Mail najbolj smiseln<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Ko WordPress projekt \u017ee uporablja Roots Acorn in Composer-first pristop.<\/li>\n\n\n<li>Ko \u017eeli\u0161 konfiguracijo prek env\/secrets, ne pa prek admin UI in zapisa v bazo.<\/li>\n\n\n<li>Ko ti je pomembno hitro, ponovljivo testiranje SMTP povezave in po\u0161iljanja prek CLI.<\/li>\n\n\n<li>Ko \u017eeli\u0161 zmanj\u0161ati odvisnost od SMTP vti\u010dnikov, ki so lahko nezanesljivi ali varnostno problemati\u010dni.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Povzetek<\/h2>\n\n\n\n<p>Acorn Mail naslovi tipi\u010dne bole\u010dine WordPress SMTP nastavitev z dvema zelo prakti\u010dnima potezama: konfiguracijo prek env spremenljivk in testiranjem prek Acorn CLI. \u010ce dela\u0161 v Roots\/Acorn ekosistemu in \u017eeli\u0161 bolj predvidljivo po\u0161iljanje e-po\u0161te brez klasi\u010dnih SMTP vti\u010dnikov, je to zelo naravna nadgradnja razvojnega workflowa.<\/p>\n\n\n<div class=\"references-section\">\n                <h2>Reference \/ Viri<\/h2>\n                <ul class=\"references-list\"><li><a href=\"https:\/\/roots.io\/announcing-acorn-mail\/\" target=\"_blank\" rel=\"noopener noreferrer\">Announcing Acorn Mail<\/a><\/li><li><a href=\"https:\/\/github.com\/roots\/acorn-mail\" target=\"_blank\" rel=\"noopener noreferrer\">roots\/acorn-mail<\/a><\/li><li><a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2023-6875\" target=\"_blank\" rel=\"noopener noreferrer\">CVE-2023-6875<\/a><\/li><\/ul>\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>SMTP na WordPressu pogosto deluje \u201cnekako\u201d \u2013 dokler ne preklopi\u0161 okolja ali pa se testno sporo\u010dilo preprosto ne po\u0161lje. Acorn Mail pristopi druga\u010de: konfiguracija prek env spremenljivk in testiranje prek CLI z jasnimi napakami.<\/p>\n","protected":false},"author":45,"featured_media":127,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[4,67,3,5,10],"class_list":["post-128","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ekosistem-wordpress","tag-acorn","tag-cli","tag-roots","tag-smtp","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/helloblog.io\/sl\/wp-json\/wp\/v2\/posts\/128","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helloblog.io\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helloblog.io\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helloblog.io\/sl\/wp-json\/wp\/v2\/users\/45"}],"replies":[{"embeddable":true,"href":"https:\/\/helloblog.io\/sl\/wp-json\/wp\/v2\/comments?post=128"}],"version-history":[{"count":1,"href":"https:\/\/helloblog.io\/sl\/wp-json\/wp\/v2\/posts\/128\/revisions"}],"predecessor-version":[{"id":154,"href":"https:\/\/helloblog.io\/sl\/wp-json\/wp\/v2\/posts\/128\/revisions\/154"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helloblog.io\/sl\/wp-json\/wp\/v2\/media\/127"}],"wp:attachment":[{"href":"https:\/\/helloblog.io\/sl\/wp-json\/wp\/v2\/media?parent=128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helloblog.io\/sl\/wp-json\/wp\/v2\/categories?post=128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helloblog.io\/sl\/wp-json\/wp\/v2\/tags?post=128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}