Mail To HTTP

margus
Jaga:

Antud blogipostitus on 198 kuud vana ning ei pruugi olla enam ajakohane.

Kuidas luua täisautomaatne keskkond, mis vastavalt sissetulnud kirjadele saadab neile automaatse vastuse, lisab/uuendab kodulehel materjale või teeb sootuks midagi muud huvitavat? Noh, keskkonna enda loomise kohta siit õpetussõnu ei leia, küll aga seda, kuidas luua side mailikonto ja kodulehe vahel.


Võimalus 1: Kui mailiserveri “sisemusele” ligipääs puudub, siis on võimalus luua kodulehele POP3/IMAP protokollil baseeruv kontrollsüsteem (mail polling), mis teatud ajavahemiku tagant käib vastavat mailikontot kontrollimas ning kui on uusi kirju, siis tegutseb vastavalt. See eeldaks kodulehe tegijalt päris palju lisakoodi kirjutamist ning lisaks ka POP3/IMAP protokolli tundma õppimist. Seda kõike ainult selleks, et kirjad koduleheni jõuaksid.

Võimalus 2: Teine võimalus on mailiserveri tarkvarasse seadistada teavitussüsteem (mail notify), mis kodulehele momentaalselt märku annab, kui uus kiri on saabunud. Kodulehele tuleb vaid juurde kribada skript, mis võtab vastu teavitusi uute kirjade kohta.

DataZone virtuaalserveri klientidel on nüüdsest võimalik kasutada seda mugavat teist võimalust. Teavitussüsteemi aktiveerimiseks tuleb DataZone haldusliideses võtta ette vastava e-posti aadressi muutmise aken ning lahtris Mail-To-HTTP URL ära määrata aadress, kuhu teavitused saabuma hakkavad. Turvalisuse huvides peab URL asuma samas domeenis, kus seadistatav e-posti aadresski. Soovi korral võib selle skripti ka parooli alla panna (HTTP Authentication), kuid siis peab kasutajanime ja parooli ka URL-is ära määrama,näiteks:

http[s]://kasutaja:parool@www.domeen.ee/skript/mis/võtab/teavitusi/vastu.php


Kui nüüd saadetakse kiri sellele e-posti aadressile siis teeb teavitussüsteem HTTP POST päringu seadistatud URLi peale ning kaasa paneb massiivi $_POST[‘mail_to_http’][…] atribuutidega:

  • from (string) – Kirja saatja (SMTP protokolli MAIL FROM:<aadress>)
  • rcpt (string) – Kirja adressaat (SMTP protokolli RCPT TO:<aadress>)
  • body (string) – Kogu RFC822 kiri töötlemata kujul
  • real_length (int) – Töötlemata kirja (body) täispikkus.

Kirja edastamisel skriptile piiranguid otseselt pole välja arvatud see, et skript peab hetkel asuma samas domeenis, mille e-posti aadressilt mail2http on seadistatud.


Märkused:

  • Kirja sisu töötlemine ja sealt omale vajaliku informatsiooni ammutamine jääb kodulehe skripti ülesandeks kuna see sõltub juba väga konkreetselt automaatse keskkonna otstarbest. Mail To HTTP ülesanne on vaid võimaldada sild mailiserverist koduleheni.
  • Kui veebiserver tagastab HTTP vastusekoodina veakoodi (4xx või 5xx), siis hoiab mailiserver kirja järjekorras ning üritab mõne aja pärast uuesti sellele URL-ile saata.

Sisuliselt sama Mail To HTTP funktsioon on meie enda Zone keskkonnas kasutusel näiteks helpdeski süsteemis (trouble ticket system), kus kõik saabunud kirjad pannakse andmebaasi ning on ühtse veebikeskkonna kaudu kättesaadavad/hallatavad/vastatavad kõikidele klienditoega tegelevatele töötajatele.

Populaarsed postitused

Kommentaar Eesti.ee e-posti sulgemisele

Ardi Jürgens
Riigi Infosüsteemi Amet (RIA) andis 3. mail teada, et 1. novembrist lõpetatakse Eesti.ee keskkonnas nimeliste postiaadresside pakkumine.

WordPressi värskeim versioon nüüd väljas

Ingmar Aasoja
Eile tuli ametlikult välja WordPressi värskeim reliis, versiooninumbriga 6.2.

CloudFest 2023 – ülevaade ja reaktsioonid

Ardi Jürgens
Eelmisel nädalal leidis Saksamaal Rustis aset järjekordne pilvandmetöötluse ja Interneti olelusteenuste valdkonna suursündmus CloudFest, mille põhifookus...
Vähem peavalu uute PHP versioonidega

PHP 8.2 nüüd ametlikult väljas

Ingmar Aasoja
PHP versioon 8.2 on nüüd ametlikult väljas. Käesolevaga keskendume sellega kaasnevatele olulisematele uuendustele.