Mail Transport
Mail Transport pošilja pošto wikija z oddajo prek SMTP namesto s funkcijo PHP mail() in pošiljatelja nastavi tako, da sporočilo ne konča med neželeno pošto. Paket je namenjen upraviteljem, ki morajo zanesljivo dostavljati enkratne kode, obvestila in povabila – sama namestitev pri tem ne spremeni ničesar, pošiljanje preklopijo šele nastavitve.
Prvi koraki
Hitri začetek: pošiljanje pošte wikija prek SMTP – najkrajša pot do prvega rezultata, v štirih korakih.
Preverite predpogoje → Vpišite SMTP → Poravnajte pošiljatelja → Pošljite preizkusno sporočilo
Pogosta opravila
| Kaj želite | Za koga | Kje to naredite | Navodilo |
|---|---|---|---|
| preklopiti pošiljanje na SMTP | upravitelji | Skrbništvo > Pošiljanje pošte | Nastavitve |
| poslati preizkusno sporočilo | upravitelji | Skrbništvo > Pošiljanje pošte | Obratovanje |
| ugotoviti, zakaj pošta konča med neželeno | upravitelji | – | Poravnava pošiljatelja |
| izslediti neuspelo pošiljanje | upravitelji | zapis pogovora | Diagnostika |
| preveriti, kaj se zgodi brez nastavitev | upravitelji | – | Namestitev sama ne spremeni ničesar |
| vedeti, česa paket ne zmore | upravitelji | – | Meje |
Namen
Pošto wikija pošilja z oddajo prek SMTP namesto s funkcijo PHP mail() – in pošiljatelja
nastavi tako, da prejemni strežnik sporočila ne uvrsti med neželeno pošto.
DokuWiki pošilja izključno prek mail(). To predpostavlja, da na računalniku teče poštni program,
ki sme pošto oddajati navzven, kar na mnogih namestitvah ne drži. V sistemu Windows brez nastavljene
poti sendmail_path PHP poskusi vzpostaviti povezavo SMTP z localhost:25; če tam nič ne
posluša, spodleti vsako pošiljanje – funkcije, ki so odvisne od pošte, na primer enkratna koda
paketa wkidentity, pa brez opozorila ne delujejo.
Avtorji ničesar od tega ne vidijo; vtičnik je namenjen izključno upravljavcu namestitve.
Namestitev sama ne spremeni ničesar
transport ima na začetku vrednost default. Wiki torej še naprej uporablja mail(), dokler
pošiljanja izrecno ne preklopite.
transport preklopite na koncu, ne na začetku.
Nastavitve
| Nastavitev | Privzeto | Pomen |
|---|---|---|
transport | default | smtp pošto preusmeri prek tega vtičnika. Dokler ta vrednost ni preklopljena, nič drugega ne učinkuje |
profile | custom | Profil ponudnika, ki prinese strežnik, vrata in šifriranje: gmail, outlook ali custom |
host | prazno | Strežnik za oddajo pošte |
port | 0 | Vrata za oddajo, običajno 587 ali 465 |
encryption | prazno | tls = STARTTLS, ssl = neposredni TLS, none = golo besedilo |
username | prazno | Poštni predal, prek katerega se pošta oddaja |
password | prazno | Geslo tega predala – ali sklic na skrivnost |
fromname | prazno | Prikazno ime ob poravnanem naslovu |
secret_root | prazno | Korenska mapa, iz katere smejo brati sklici file: |
align_sender | 1 | From poravna na predal, ki pošto oddaja; prvotni naslov se premakne v Reply-To |
verify_peer | 1 | Preverjanje potrdila strežnika |
timeout | 15 | Časovna omejitev povezave v sekundah |
Gesla tu ni treba vpisati kot vrednosti. Sklic na WvdS Vault ga hrani na enem mestu, z dnevnikom dostopov:
vault:mail-smtp
Poravnava pošiljatelja: vprašanje pravilnosti, ne videza
Če je align_sender vklopljen, je v From predal, prek katerega se pošta dejansko odda; prvotni
naslov ostane v Reply-To.
Razlog ni videz: wiki tako ne trdi, da ima identiteto, za katero se ne more overiti. Prav to trditev prejemni strežnik preveri s SPF, DKIM in DMARC in jo v dvomu uvrsti med neželeno pošto.
From in pri tem prezrete Reply-To. To
je vedenje odjemalca, ki ga pošiljatelj ne more preprečiti.
Diagnostika: zapis pogovora namesto ugibanja
Skrbniški zaslon ponuja preizkusno pošiljanje, ki je zgrajeno kot merilni instrument: ne sporoči samo rezultata, temveč tudi zapis pogovora s strežnikom. Neuspeh tako navede korak, pri katerem je pošiljanje spodletelo, in ne pove samo, da pošta ne deluje.
Druga polovica je poročilo o dostavljivosti: prebere dejanske zapise DNS domene (SPF, DKIM, DMARC), namesto da bi jih predpostavljalo, in sporoči, kaj manjka. Šele to omogoča diagnosticirati primer »strežnik za oddajo je sporočilo sprejel, prejemnik ga je dal v karanteno«.
Poleg tega je tu preverjanje dosegljivosti: ali vrata za oddajo s tega računalnika sprejmejo povezavo TCP? Na voljo je tudi v ukazni vrstici, kjer ne potrebuje prijave.
Predpogoji
- PHP 8.2 ali novejši in skrbniške pravice.
- Poštni predal za oddajo in odhodni dostop do njegovih vrat za oddajo, običajno 587 ali 465. Gostovana okolja oboje pogosto zaprejo.
- WvdS Vault je neobvezen – potrebujete ga, če želite geslo shraniti kot sklic in ne kot vrednost.
Meje
- Zapisov DNS ne more objaviti. SPF in DKIM sta v območju DNS in pri ponudniku. Vtičnik sporoči, kaj manjka; nikoli ne obljubi, da bo sporočilo prispelo.
- Brezhiben zapis pogovora še ni dostava. Oddaja in dostava sta ločeni oceni, in tihi neuspeh – sprejeto, nato pri prejemniku uvrščeno med neželeno – je od tu videti povsem enako kot uspeh.
- Gesla za aplikacije so večinoma obvezna, kadar ima račun drugi dejavnik; geslo računa strežnik pri oddaji zavrne.
- Če se
encryptionin vrata ne ujemata, se to pokaže kot prekoračitev časa, ne kot jasno sporočilo o napaki – obe strani čakata, da bo druga spregovorila prva.
Obratovanje
transportpreklopite na koncu. Najprej nastavite in preverite; privzeta vrednost medtem pusti obstoječo pot pošte nedotaknjeno.- SPF in DKIM objavite, preden zaostrite DMARC.
p=rejectob manjkajočem SPF ali DKIM iz težave z neželeno pošto naredi popolno nedostavljivost – tudi na lastni naslov, s čimer izgubite najpreprostejšo možnost za preizkus. - Počakajte, da se spremembe DNS razširijo, preden sklepate, da objavljeni zapis nima učinka.
- Po menjavi ponudnika preverite znova. Strežnik, vrata, oznaka SPF in pravila za gesla aplikacij so stvar ponudnika, in vse štiri se lahko spremenijo.
verify_peer po vsaki diagnostiki znova vklopite. Ko je izklopljen, prestrežene povezave ni več
mogoče ločiti od prave – in to prav na povezavi, ki prenaša geslo. To je korak diagnostike, nikoli
nastavitev, ki bi jo obdržali. Enako velja za encryption = none: tedaj gre geslo po povezavi v
golem besedilu.
Podatki o paketu
Vtičnik: wkmail
Imenski prostor: lib/plugins/wkmail/
Avtor: Wolfgang van der Stille Wolfgang.van.der.Stille@gmail.com (The White Knight Labs)
Licenca: GPL 2