7. modulis · 7.3
Pasts no Jūsu vietnes un veidlapām
7. modulis: Jaunumu vēstules un e-pasts no Jūsu vietnes · Lasīšanas laiks: 11 minūtes
Mērķis: Pēc šīs nodarbības Jūs varēsiet iestatīt vietnes e-pastu (kontaktformas, pasūtījumu apstiprinājumus, WordPress paziņojumus) tā, lai tas nonāktu galā, neradītu DMARC problēmas un lai Jūsu pakotne netiktu ļaunprātīgi izmantota.
Pamatjēdzieni: PHP mail(), SMTP ar pieteikšanos, envelope sender, From pretstatā Reply-To, apmeklētāja adrese nekad kā From, SMTP spraudnis, transakcijas e-pasts, veidlapu surogātpasts, captcha, honeypot, nosūtīšanas limits, lokālā piegāde, ja MX norāda citur
Jūsu vietne ir arī pasta programma
Jūsu vietne nosūta vairāk pasta, nekā Jūs domājat. Kontaktforma nosūta Jums katru ziņojumu. Interneta veikals sūta pasūtījumu apstiprinājumus, rēķinus un nosūtīšanas paziņojumus. WordPress sūta e-pastu par jaunu komentāru, atjauninājumu vai paroles atiestatīšanu. Saņēmējam tas ir vienkārši e-pasts no Jūsu domēna, un tas tiek tikpat stingri pārbaudīts kā e-pasts no Jūsu pastkastes: SPF, DKIM, DMARC, reputācija.
Tomēr vietnes e-pasts biežāk nenonāk galā nekā parasts e-pasts. Parasti tam ir viens no trim iemesliem: nosūtīšanas veids, nosūtītāja adrese vai veidlapas ļaunprātīga izmantošana.
1. veids: PHP mail()
Vienkāršākais veids, kā vietne var nosūtīt e-pastu, ir PHP funkcija mail(). Vietne tad nodod e-pastu tieši tīmekļa servera pasta programmai, bez pieteikšanās. Tas parasti darbojas, bet ir arī trūkumi:
- Envelope sender (Return-Path) bieži kļūst par Jūsu pakotnes sistēmas kontu, piemēram,
gebruiker@server.hosting.example, nevis Jūsu adresi. SPF tad tiek pārbaudīts servera domēnam, un tādēļ nav saskaņots (alignment) ar Jūsu From domēnu (nodarbība 7.1). - Vai tiek pievienots DKIM paraksts no Jūsu domēna, ir atkarīgs no servera. Dažos serveros tas notiek, citos nē.
- Jūs neko neredzat. Ja e-pasts nenonāk galā vai Jūs saņemat atlēcienu (bounce), tas nonāk sistēmas kontā, kuru neviens neskatās.
- Nav limita katrai veidlapai. Ja veidlapa tiek ļaunprātīgi izmantota, serveris sūta e-pastus Jūsu vārdā, līdz tiek sasniegts Jūsu pakotnes limits.
2. veids: SMTP ar pieteikšanos (labāk)
Lieciet vietnei sūtīt tāpat, kā to dara Jūsu pasta programma: piesakoties izejošā pasta serverī ar īstu pastkasti, izmantojot portu 587 (STARTTLS) vai 465 (SSL/TLS), ar pilnu e-pasta adresi kā lietotājvārdu (nodarbība 1.4 un 2.1). Tad:
- envelope sender ir Jūsu adrese, un e-pasts tiek parakstīts tāpat kā parasts e-pasts no Jūsu domēna;
- atlēcieni (bounce) nonāk pastkastē, ko Jūs varat izlasīt;
- nosūtītais e-pasts, ja vēlaties, paliek mapē Sent;
- Jūs varat katrai pastkastei iestatīt savu nosūtīšanas limitu.
WordPress to dara ar SMTP spraudni. Tas aizstāj WordPress standarta pasta funkciju ar nosūtīšanu caur SMTP. Jūs ievadāt tos pašus datus kā pasta programmā: serveris, ports, drošība, lietotājvārds un parole. Vēlams tam izveidot atsevišķu pastkasti, piemēram, website@example.com. Ja parole kādreiz tiek nozagta, Jūsu paša pastkaste paliek droša, un Jūs uzreiz redzat, kurš e-pasts nāk no vietnes.
Jūsu pašu PHP vietnei pastāv bibliotēkas, kas sūta e-pastu caur SMTP, piemēram, PHPMailer. Ievietojiet paroli konfigurācijas failā ārpus tīmekļa mapes, nevis lapas kodā.
WebOké gadījumā SMTP dati atrodami DirectAdmin rokasgrāmatā 8.1, kopā ar Jūsu pakotnes servera nosaukumu; pie citiem pakalpojumu sniedzējiem tie atrodami rokasgrāmatā vai apsveikuma e-pastā, un darbojas tāpat.
Daudz transakcijas e-pasta? Izmantojiet pakalpojumu
Ja Jūs katru dienu sūtāt simtiem pasūtījumu apstiprinājumu, atmaksājas transakcijas e-pasta pakalpojums: nosūtīšanas pakalpojums automātiskajam e-pastam. Tam ir laba reputācija, un tas parāda, kas notika ar katru e-pastu. Jūs piesaistāt domēnu tāpat kā jaunumu vēstuļu pakalpojumam (DKIM caur CNAME, nodarbība 7.1). Turiet transakcijas e-pastu un jaunumu vēstules nošķirtus: neveiksmīga kampaņa nedrīkst ietekmēt Jūsu pasūtījumu apstiprinājuma e-pastu.
Zelta likums: apmeklētāja adrese nekad nav nosūtītājs
Kontaktformas gadījumā ir vilinoši likt e-pastu nosūtīt it kā tas būtu "no" apmeklētāja. Tad Jūs savā pasta programmā varat uzreiz nospiest Atbildēt. Tas izskatās šādi:
From: Pieter <pieter@example.net>
To: info@example.com
Subject: Vraag via het contactformulierBet Jūsu serverim nemaz nav atļauts sūtīt e-pastu example.net vārdā. Pieņemsim, ka example.net ir DMARC politika p=reject. Saņemošais serveris (Jūsu, vai Gmail serveris, ja Jūs pāradresējat e-pastu) redz e-pastu ar From example.net, kas nenāk cauri example.net SPF vai DKIM pārbaudei, un to noraida. Daudziem lieliem pasta domēniem ir stingra politika: pārbaudē 2026. gada 8. novembrī tādiem domēniem kā yahoo.com, aol.com, ziggo.nl un kpnmail.nl bija DMARC politika p=reject, bet icloud.com, gmx.de un web.de bija p=quarantine. Apmeklētājs ar šādu adresi aizpilda Jūsu veidlapu, un Jūs ziņojumu nekad nesaņemat vai tas nonāk surogātpasta mapē. Domēni ar p=none (kā tajā brīdī gmail.com un hotmail.com) savu politiku var jebkurā brīdī padarīt stingrāku, un Google savās vadlīnijās skaidri norāda, ka nedrīkst atdarināt Gmail adreses kā From. Tāpēc nekad nerēķinieties, ka tas izdosies.
Pareizais veids:
From: Website example.com <website@example.com>
Reply-To: Pieter <pieter@example.net>
To: info@example.com
Subject: Vraag via het contactformulierNosūtītājs ir Jūsu paša adrese, tāpēc SPF, DKIM un DMARC sakrīt. Apmeklētāja adrese atrodas laukā Reply-To. Ja nospiežat Atbildēt, Jūsu atbilde dodas Pieter. Vairumā veidlapu spraudņu to atrodat e-pasta iestatījumos: pie Nosūtītājs (From) norādiet pastāvīgu adresi no sava domēna, bet Reply-To laukā ievietojiet to, kurā apmeklētājs ievada savu adresi.
Veidlapu aizsardzība pret ļaunprātīgu izmantošanu
Veidlapu bez aizsardzības agri vai vēlu atradīs boti. Labākajā gadījumā Jūs saņemsiet surogātpastu. Sliktākajā gadījumā to izmanto, lai sūtītu surogātpastu citiem: ja Jūsu veidlapa sūta apstiprinājumu uz "adresi, ko ievada apmeklētājs", bots tur var ievadīt jebkuru adresi pasaulē, ar savu tekstu ziņojumā. Tad Jūsu domēns sūta surogātpastu, ar visām sekām Jūsu reputācijai (nodarbība 5.2).
Aizsardzība vairākos slāņos:
- Captcha vai neredzama pārbaude (piemēram, reCAPTCHA vai Turnstile) aptur lielāko daļu botu.
- Honeypot: slēpts lauks, ko cilvēki neredz, bet boti to aizpilda. Ja tas ir aizpildīts, ziņojums netiek nosūtīts.
- Nekāds brīvs teksts apstiprinājumā apmeklētājam, vai vispār bez apstiprinājuma uz norādīto adresi. Vienkāršs paziņojums "Paldies, mēs saņēmām Jūsu ziņojumu" lapā ir pietiekams.
- Nosūtīšanas limits katrai pastkastei vietnes pastkastei, zemāks nekā Jūsu pakotnes limits.
- Programmatūras atjaunināšana. Vecie spraudņi ir zināms ieejas punkts ļaunprātīgai izmantošanai.
Vai pamanāt, ka Jūsu pakotne pēkšņi sūta daudz e-pasta, vai saņemat paziņojumu, ka ir sasniegts dienas limits, lai gan Jūs pats sūtāt maz e-pasta? Tad nekavējoties mainiet paroles un noskaidrojiet, kura veidlapa vai skripts sūta e-pastu (nodarbība 3.4).
Pasts atrodas citur, vietne šeit
Bieži sastopama kļūda: Jūsu vietne atrodas pie viena pakalpojumu sniedzēja, Jūsu pasts pie cita (piemēram, Microsoft 365 vai Google Workspace). Jūsu MX norāda uz to citu pakalpojumu sniedzēju. Bet tīmekļa serveris joprojām domā, ka tas pats apstrādā Jūsu domēna pastu, jo domēns ir norādīts arī tā paša pakotnē. E-pastu no veidlapas uz info@example.com tas tad piegādā lokāli, pastkastē tīmekļa serverī, kuru neviens neskatās, vai tas atdod kļūdu, piemēram, 550 ... mailbox unavailable.
Risinājums ir tīmekļa servera panelī norādīt, ka pastu apstrādā cita vieta. DirectAdmin pie WebOké tā ir izvēles rūtiņa "Izmantot šo serveri manu e-pastu apstrādei" pie MX Records (jāizslēdz). Citiem paneļiem ir līdzīgi iestatījumi, piemēram, "e-mailrouting: extern" cPanel. Vēl labāk: lieciet vietnei sūtīt e-pastu caur SMTP, izmantojot pastkasti pie pakalpojumu sniedzēja, kur Jūsu pasts tiešām atrodas.
Kopsavilkums
- Vietnes e-pasts tiek pārbaudīts tikpat stingri kā parasts e-pasts. Lieciet vietnei sūtīt caur SMTP ar pieteikšanos, nevis caur
mail(). - Izmantojiet atsevišķu pastkasti vietnei, ar savu nosūtīšanas limitu.
- Apmeklētāja adresei jābūt Reply-To, nekad From. Citādi DMARC pārbaude neizdodas, un pie domēniem ar
p=reject(piemēram, yahoo.com, ziggo.nl, kpnmail.nl) e-pasts tiek noraidīts. - Aizsargājiet veidlapas ar captcha, honeypot un bez brīva teksta apstiprinājumiem uz norādītajām adresēm.
- Ja Jūsu pasts atrodas pie cita pakalpojumu sniedzēja, izslēdziet lokālo piegādi tīmekļa serverī vai sūtiet e-pastu caur SMTP pie tā pakalpojumu sniedzēja.
Tests
Uzdevums
Uzdevums O7.3: Pārbaudīt vietnes pastu. Aizpildiet veidlapu savā vietnē, izmantojot Gmail vai Outlook.com adresi kā nosūtītāju, un apskatiet galvenes, kas ir Jums atsūtītajā ziņojumā. Atbildiet uz kontrolsarakstu: kāda adrese ir From, vai apmeklētāja adrese ir Reply-To, ko norāda spf=, dkim= un dmarc= pie Authentication-Results, vai Jūsu vietne sūta caur SMTP vai caur mail(), un vai veidlapai ir captcha vai honeypot? Ja Jums nav savas vietnes, atbildiet uz jautājumiem par šīs nodarbības piemēru. Pēc tam Jūs saņemsiet parauga atbildi.
Uzdevums O7.3: Pārbaudīt vietnes pastu
Šo uzdevumu veicat paši; neviens to nepārbauda. Atzīmējiet, ko esat izdarījuši, un atzīmējiet uzdevumu kā paveiktu.
From = pastāvīga sava adrese, Reply-To = apmeklētājs, sūtīšana caur SMTP ar pierakstīšanos, captcha vai honeypot, un bez apstiprinājuma ar brīvu tekstu (to izmanto spammeri ļaunprātīgi). Ja apmeklētāja adrese ir laukā From, DMARC pārbaude neizdosies, tiklīdz apmeklētāja domēnam būs iestatīta politika (nodarbība 7.3).
Jūsu atzīmes un piezīmes paliek tikai šajā pārlūkprogrammā; mēs tās nekur nesūtām. Ja esat pieteikušies, sadaļā Mani kursi saglabājam tikai to, ka uzdevums ir paveikts.
Papildu lasāmviela
Šajos rakstos aprakstītie soļi attiecas uz WebOké paneļiem; citiem pakalpojumu sniedzējiem tas darbojas līdzīgi.
- Kontaktformulārs Jūsu tīmekļa vietnē: lauku nosūtīšana pa e-pastu un surogātpasta novēršana
- Kā PHP funkcijā mail() iegūt pareizo sūtītāju? SMTP
- E-pastu nevar nosūtīt ar PHP, MX ieraksti norāda uz citu serveri
- Limits e-pasta sūtīšanai
- Sasniegts dienas e-pasta limits
- DirectAdmin rokasgrāmata 8.1: Visi iestatījumi pārskatāmi: serveri, porti un drošība
- DirectAdmin rokasgrāmata 5.10: E-pasts pie Microsoft 365 vai Google Workspace, tīmekļa vietne pie WebOké
