Mail-to-HTTP

Postkasti saabuvaid kirju on võimalik suunata lisaks mõnele teisele e-posti aadressile ka HTTP-päringuna URL’ile, mis annab võimaluse kirju programmaatiliselt töödelda.

Andmeturvalisuse tõttu saab kasutada ainult selliseid URL’e, mille domeen on sama, mis suunaval e-posti aadressil. Lubatud on kasutada ka alamdomeene.
Näiteks postkastile name@example.com lisatud suunamisaadress https://example.com/mail_to_http.php.

Kui päringu vastuvõtmise URL/fail on kaitstud Apache Basic auth’iga (HTTP Authentication), tuleb selle kasutajanimi ja salasõna URL’ile juurde lisada kujul:
https://user:pwd@example.com/mail_to_http.php

Mail-to-http suunamise URL’ile saab lisada Minu Zone keskkonnas veebimajutuse jaotises E-post -> Postkastid vastava postkasti halduse jaotises Suunamine.

Uue kirja saabudes teeb server HTTP POST-päringu suunamise URL’ile.
$_POST massiivi muutujad on:

id (string): kirja id
from (string): kirja saatja e-posti aadress
to (string): kirja adressaadi e-posti aadress
headers (array):
  from (JSON object): kirja saatja nimi ja e-posti aadress
  to (JSON array): kirja adressaadi nimi ja e-posti aadress
  date (string): kirja saatmise aeg (RFC 2822)
  message_id (string): kirja unikaalne Message-ID
  subject (string): kirja pealkiri
mail_to_http (array):
  from (string): kirja saatja (SMTP protokolli MAIL FROM:)
  rcpt (string): kirja adressaat (SMTP protokolli RCPT TO:)
  real_length (int): töötlemata kirja (body) täispikkus
  body (string): kiri töötlemata kujul (RFC822)
Lisainfo

['mail_to_http']['body'] on eelkõige mõeldud kirjade jaoks, millel ei ole suuri manuseid, sest kui kiri on suurem kui 500 KiB, lõigatakse ülejäänud osa ära.

Kirjad, mis on suuremad kui 500 KiB, saab kätte .eml failina $_FILES massiivist.
$_FILES massiivi väljad on tüüpilised POST üleslaadimise omad:
PHP dokumentatsioon: POST method uploads

$_FILES massiivi muutujad on:

message (array):
  name (string): .eml faili nimi
  type (string): kirja formaadi tüüp
  tmp_name (string): absoluutne rada ajutise failini
  error (string): veakood
  size (string): faili suurus baitides

Kui POST-päringut vastuvõttev skript või veebiserver tagastab HTTP staatuskoodina veakoodi 5xx, hoiab e-posti server kirja järjekorras ning üritab kirja mõne aja pärast uuesti samale URL’ile saata.

Updated on 19. apr. 2024

Was this article helpful?

Related Articles