{"id":127,"date":"2024-03-19T00:00:00","date_gmt":"2024-03-18T23:00:00","guid":{"rendered":"https:\/\/helloblog.io\/lv\/acorn-mail-smtp-konfiguresana-un-testesana-wordpress-ar-acorn-cli\/"},"modified":"2026-01-20T06:38:47","modified_gmt":"2026-01-20T05:38:47","slug":"acorn-mail-smtp-konfiguresana-un-testesana-wordpress-ar-acorn-cli","status":"publish","type":"post","link":"https:\/\/helloblog.io\/lv\/acorn-mail-smtp-konfiguresana-un-testesana-wordpress-ar-acorn-cli\/","title":{"rendered":"Acorn Mail: sak\u0101rtota SMTP konfigur\u0113\u0161ana un test\u0113\u0161ana WordPress projektos ar Acorn CLI"},"content":{"rendered":"\n<p>WordPress e-pastu s\u016bt\u012b\u0161ana praks\u0113 bie\u017ei ir \u201cstr\u0101d\u0101 lok\u0101li, nestr\u0101d\u0101 staging, production klus\u0113\u201d. It \u012bpa\u0161i, ja projekt\u0101 ir vair\u0101ki environment (lok\u0101ls Docker, CI, staging, production) un katram ir savi nosac\u012bjumi: at\u0161\u0137ir\u012bgi SMTP serveri, porti, TLS pras\u012bbas, autentifik\u0101cija, \u201cfrom\u201d adrese u.tml. Rezult\u0101t\u0101 san\u0101k lieks laiks, kas tiek t\u0113r\u0113ts nevis produkta izstr\u0101dei, bet gan e-pasta pieg\u0101des diagnostikai.<\/p>\n\n\n\n<p>Roots komanda \u0161ai probl\u0113mai ir pieg\u0101jusi no aplik\u0101cijas konfigur\u0101cijas puses un izlaida <strong><a href=\"https:\/\/github.com\/roots\/acorn-mail\">Acorn Mail<\/a><\/strong> \u2014 risin\u0101jumu, kura m\u0113r\u0137is ir vienk\u0101r\u0161ot SMTP piesl\u0113g\u0161anu WordPress aplik\u0101cij\u0101 un padar\u012bt test\u0113\u0161anu saprotamu, izmantojot Acorn CLI (komandrindas r\u012bku, kas n\u0101k no Roots Acorn ekosist\u0113mas).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">K\u0101p\u0113c ar klasiskajiem SMTP spraud\u0146iem m\u0113dz b\u016bt probl\u0113mas<\/h2>\n\n\n\n<p>Daudzos projektos \u201c\u0101tr\u0101kais ce\u013c\u0161\u201d ir SMTP spraudnis. Ta\u010du laika gait\u0101 tie var k\u013c\u016bt par risku vai apgr\u016btin\u0101jumu: atkar\u012bba no administr\u0101cijas pane\u013ca iestat\u012bjumiem, at\u0161\u0137ir\u012bga uzved\u012bba starp vid\u0113m, nepietiekama k\u013c\u016bdu atskaite, un reiz\u0113m ar\u012b dro\u0161\u012bbas jaut\u0101jumi. Roots rakst\u0101 pat ir izcelts piem\u0113rs ar ievainojam\u012bbu: <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2023-6875\">CVE-2023-6875<\/a>.<\/p>\n\n\n\n<p>V\u0113l viena bie\u017ea s\u0101pe: \u201cSend test email\u201d pogas da\u017e\u0101d\u0101s implement\u0101cij\u0101s nereti dod \u013coti maz inform\u0101cijas. Ja autentifik\u0101cija neiziet, TLS handshake nepat\u012bk, vai tiek blo\u0137\u0113ts ports, praktiski ir j\u0101rokas pa logiem un j\u0101sal\u012bdzina konfigur\u0101cijas. Tie\u0161i \u0161eit ir v\u0113rt\u012bgi, ja test\u0113\u0161anu var izdar\u012bt no CLI un k\u013c\u016bdas tiek par\u0101d\u012btas skaidri.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kas ir Acorn Mail un k\u0101 tas str\u0101d\u0101<\/h2>\n\n\n\n<p><strong>Acorn Mail<\/strong> ir pakotne, kas paredz\u0113ta lieto\u0161anai kop\u0101 ar Roots <strong>Acorn<\/strong>. Ideja ir vienk\u0101r\u0161a: ja tav\u0101 vid\u0113 ir defin\u0113ti e-pasta (mail) akredit\u0101cijas dati, Acorn Mail autom\u0101tiski piesl\u0113dzas WordPress e-pastu s\u016bt\u012b\u0161anas pl\u016bsmai, izmantojot WordPress <code>PHPMailer<\/code> instanci.<\/p>\n\n\n\n<p><code>PHPMailer<\/code> ir WordPress izmantot\u0101 bibliot\u0113ka e-pastu s\u016bt\u012b\u0161anai. Acorn Mail, atrodot aizpild\u012btus konfigur\u0101cijas main\u012bgos, \u201ciehooko\u201d (piesl\u0113dzas caur WordPress meh\u0101nismu) \u0161aj\u0101 instanc\u0113 un uzst\u0101da SMTP parametrus. Tas noz\u012bm\u0113: nav j\u0101klik\u0161\u0137ina pa admin paneli katr\u0101 vid\u0113 \u2014 pietiek ar pareiziem environment main\u012bgajiem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Instal\u0113\u0161ana ar Composer<\/h2>\n\n\n\n<p>Acorn Mail tiek pievienots k\u0101 Composer atkar\u012bba (tas labi sader ar modernu WordPress projektu strukt\u016bru, kur dependencies tiek p\u0101rvald\u012btas caur Composer):<\/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\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>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\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\">Par priek\u0161nosac\u012bjumiem<\/h4>\n\n\n<p>Acorn Mail ir veidots darbam Acorn ekosist\u0113m\u0101. Ja tav\u0101 projekt\u0101 Acorn jau ir, pievieno\u0161ana ir tie\u0161a. Ja n\u0113, vispirms j\u0101b\u016bt sak\u0101rtotai Acorn integr\u0101cijai.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Konfigur\u0101cija caur environment main\u012bgajiem<\/h2>\n\n\n\n<p>P\u0113c instal\u0113\u0161anas galvenais ieguvums ir tas, ka konfigur\u0101cija dz\u012bvo \u0101rpus koda un \u0101rpus WordPress admin: env main\u012bgajos. Acorn Mail izmanto \u0161\u0101dus main\u012bgos:<\/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\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>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Svar\u012bga nianse: Acorn Mail aktiviz\u0113 SMTP konfigur\u0101ciju autom\u0101tiski tad, kad akredit\u0101cijas dati ir atrasti (t.i., main\u012bgie nav tuk\u0161i). Tas ir \u0113rti, jo vari lok\u0101li atst\u0101t SMTP izsl\u0113gtu (tuk\u0161as v\u0113rt\u012bbas), bet staging\/production iesl\u0113gt ar dro\u0161u secrets p\u0101rvald\u012bbu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ko \u0161\u012b pieeja uzlabo ikdienas darb\u0101<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Vienota konfigur\u0101cijas forma vis\u0101s vid\u0113s (vienm\u0113r env main\u012bgie).<\/li>\n\n\n<li>Maz\u0101k \u201cstate\u201d WordPress admin panel\u012b \u2014 maz\u0101k iesp\u0113ju kaut ko nejau\u0161i salauzt.<\/li>\n\n\n<li>Viegl\u0101ka CI\/CD integr\u0101cija, jo SMTP dati parasti jau dz\u012bvo secret store (piem., hostinga panel\u012b vai CI secrets).<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Papla\u0161in\u0101t\u0101 konfigur\u0101cija: mail.php public\u0113\u0161ana<\/h2>\n\n\n\n<p>Ja ar env main\u012bgajiem nepietiek un vajag detaliz\u0113t\u0101ku konfigur\u0101ciju, Acorn Mail \u013cauj public\u0113t <code>mail.php<\/code> konfigur\u0101cijas failu ar Acorn CLI komandu:<\/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\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>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0160is solis ir noder\u012bgs, ja projekt\u0101 gribi kontrol\u0113t konfigur\u0101ciju struktur\u0113t\u0101k vai saglab\u0101t versij\u0101s to, kas nav sensit\u012bvs. (Sensit\u012bvos datus joproj\u0101m ir j\u0113ga tur\u0113t secrets\/env l\u012bmen\u012b.)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SMTP test\u0113\u0161ana ar wp acorn mail:test<\/h2>\n\n\n\n<p>Liel\u0101k\u0101 praktisk\u0101 v\u0113rt\u012bba bie\u017ei ir tie\u0161i test\u0113\u0161an\u0101. Acorn Mail pied\u0101v\u0101 CLI komandu, kas nos\u016bta testa e-pastu uz nor\u0101d\u012btu adresi un ce\u013c\u0101 par\u0101da k\u013c\u016bdas saprotam\u0101 veid\u0101:<\/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\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>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0160\u0101da pieeja ir \u012bpa\u0161i \u0113rta, ja j\u0101atk\u0101rto tests vair\u0101k\u0101s vid\u0113s: tu palai\u017e komandu staging\u0101, redzi rezult\u0101tu; palai\u017e production\u0101, redzi rezult\u0101tu; un nav j\u0101mekl\u0113, kur konkr\u0113tais SMTP spraudnis ir pasl\u0113pis savus logus vai k\u0101 tas interpret\u0113 k\u013c\u016bdas.<\/p>\n\n\n\n<div class=\"wp-block-group callout callout-warning is-style-warning 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\">Dro\u0161\u012bbas un pieejas ties\u012bbu piez\u012bme<\/h4>\n\n\n<p>T\u0101 k\u0101 test\u0113\u0161ana notiek caur CLI, p\u0101rliecinies, ka piek\u013cuve serverim (SSH, CI runner u.tml.) ir kontrol\u0113ta un secrets netiek izdruk\u0101ti vai nopludin\u0101ti logfailos.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Kur Acorn Mail iederas modern\u0101 WordPress stack\u0101<\/h2>\n\n\n\n<p>Ja str\u0101d\u0101 ar Roots ekosist\u0113mu un tev jau ir ierasts likt konfigur\u0101ciju <code>.env<\/code>, izmantot <code>wp<\/code> komandas un tur\u0113t projektu reproduc\u0113jamu starp vid\u0113m, Acorn Mail izklaus\u0101s p\u0113c lo\u0123iska n\u0101kam\u0101 so\u013ca e-pasta sl\u0101nim. Maz\u0101k klik\u0161\u0137u, vair\u0101k determinisma, un p\u0101rbaud\u0101ms rezult\u0101ts ar vienu komandu.<\/p>\n\n\n\n<p>Ja iepriek\u0161 e-pasti \u201cvienk\u0101r\u0161i kaut kur pazuda\u201d, \u0161is ir tipisks gad\u012bjums, kur skaidrs test-komandas rezult\u0101ts ietaupa stundas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kopsavilkums<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li>Acorn Mail m\u0113r\u0137is ir vienk\u0101r\u0161ot SMTP konfigur\u0113\u0161anu WordPress projektos, kas izmanto Acorn.<\/li>\n\n\n<li>Konfigur\u0101cija notiek caur env main\u012bgajiem; ja tie ir aizpild\u012bti, SMTP tiek uzst\u0101d\u012bts autom\u0101tiski uz WordPress <code>PHPMailer<\/code>.<\/li>\n\n\n<li>Papla\u0161in\u0101tai kontrolei var public\u0113t <code>mail.php<\/code> konfigur\u0101ciju ar <code>wp acorn mail:config<\/code>.<\/li>\n\n\n<li>Testa e-pastu var nos\u016bt\u012bt ar <code>wp acorn mail:test<\/code>, vienlaikus redzot k\u013c\u016bdas saprotam\u0101 form\u0101.<\/li>\n\n<\/ol>\n\n\n<div class=\"references-section\">\n                <h2>Atsauces \/ Avoti<\/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\">Acorn Mail<\/a><\/li><li><a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2023-6875\" target=\"_blank\" rel=\"noopener noreferrer\">CVE-2023-6875 Detail<\/a><\/li><\/ul>\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>Ja WordPress e-pasti da\u017e\u0101dos env s\u0101k uzvesties neprognoz\u0113jami, probl\u0113ma bie\u017ei ir SMTP konfigur\u0101cij\u0101 un v\u0101j\u0101 test\u0113\u0161an\u0101. Acorn Mail pied\u0101v\u0101 vienk\u0101r\u0161u pieeju: konfigur\u0101cija caur env main\u012bgajiem un p\u0101rskat\u0101ms tests ar CLI.<\/p>\n","protected":false},"author":51,"featured_media":126,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31],"tags":[4,69,6,5,10],"class_list":["post-127","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress-ekosistema","tag-acorn","tag-cli","tag-phpmailer","tag-smtp","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/helloblog.io\/lv\/wp-json\/wp\/v2\/posts\/127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helloblog.io\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helloblog.io\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helloblog.io\/lv\/wp-json\/wp\/v2\/users\/51"}],"replies":[{"embeddable":true,"href":"https:\/\/helloblog.io\/lv\/wp-json\/wp\/v2\/comments?post=127"}],"version-history":[{"count":1,"href":"https:\/\/helloblog.io\/lv\/wp-json\/wp\/v2\/posts\/127\/revisions"}],"predecessor-version":[{"id":153,"href":"https:\/\/helloblog.io\/lv\/wp-json\/wp\/v2\/posts\/127\/revisions\/153"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helloblog.io\/lv\/wp-json\/wp\/v2\/media\/126"}],"wp:attachment":[{"href":"https:\/\/helloblog.io\/lv\/wp-json\/wp\/v2\/media?parent=127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helloblog.io\/lv\/wp-json\/wp\/v2\/categories?post=127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helloblog.io\/lv\/wp-json\/wp\/v2\/tags?post=127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}