El.pašto žinučių siuntimas iš VU žiniatinklio serverio tinklalapių

2014-12-22 10:00 (2014-12-22 10:13)

     VU tinklalapių serveryje elektroninio pašto žinutę suformuoti bei išsiųsti galima dviem būdais:

     Naudojant PHP mail() funkciją visi laiškai yra siunčiami per VU el. pašto serverį mail.vu.lt, todėl jie turi atitikti šiame serveryje nustatytas elektroninio pašto siuntimo taisykles. Pvz., serveris mail.vu.lt leidžia išsiųsti tik tas el. pašto žinutes, kurių gavėjai yra  VU elektroninio pašto vartotojai. Tinklalapių administratoriai, norintys naudoti PHP mail() funkciją, turi nurodyti serverio administratoriui VU el. pašto adresą, su kuriuo bus susieti išsiunčiami laiškai. Apie mail.vu.lt serverio atmestas žinutes šių žinučių siuntėjai nėra informuojami, kadangi PHP mail funkcija naudoja tinklalapių serveryje esančios sendmail programos galimybes, o ši neturi galimybių pranešti PHP mail() funkcijai apie nepavykusį pašto persiuntimą per mail.vu.lt.

     Šią problemą galima išspręsti, pasinaudojant PEAR Mail moduliu, kuris turi galimybę prie bet kurio SMTP serverio (tame tarpe ir mail.vu.lt) jungtis tiesiogiai bei pranešti žinutės siuntėjui apie įvykusią klaidą. PEAR Mail modulis leidžia detaliau nurodyti laiškų siuntimo parametrus bei apdoroti įvykusias klaidas. Jei tinklalapis reikalauja konkrečių SMTP serverio galimybių, Pear Mail modulis leidžia nurodyti tokias galimybes atitinkantį SMTP serverį. Jeigu laiškų siuntimui kaip SMTP serveris yra naudojamas serveris mail.vu.lt, siunčiami laiškai turi atitikti minėtas elektroninių žinučių siuntimo taisykles. Serveris mail.vu.lt leidžia išsiųsti tik tas el. pašto žinutes, kurios yra  skirtos VU elektrinio pašto adreso turėtojui (turi būti nurodytas žinutės antraštėje gavėju) arba kai žinutės siuntėjas yra VU el. pašto turėtojas (turi būti nurodytas žinutės antraštėje siuntėju).

Elektroninio pašto žinučių siuntimo pavyzdžiai

1) PHP mail funkcija:

?>?>?>

$message = „Test message from PHP mail function“;

$headers = „From: user@example.comrn“;

$to = „otheruser@example.com“;

$subject = „Test message from sendmail“;

mail($to, $subject, $message, $headers);

?>

Pastaba: Jei laiško antraštėje nebus nurodytas siuntėjo adresas, tai adresatas matys sisteminį el. pašto adresą, pvz., www55555@lapas.vu.lt

2) PHP Pear Mail modulis:

?>?>?>

require_once(„Mail.php“);

$message = „Test message from Mail Pear“;

$params[„host“] = „SMTP server address“;

$pmailer =& Mail::factory(‘smtp’, $params);

$recipient = array(„To“ => „otheruser@example.com“);

$headers[„From“] = „user@example.com“;

$headers[„To“] = „otheruser@example“;

$headers[„Subject“] = „Test message from Mail Pear“;

$pmailer –> send($recipient, $headers, $message);

?>

 

Papildoma informacija

  1. http://lt.php.net – PHP gamintojo tinklalapis
  2. http://pear.php.net – PEAR modulių sistemos tinklalapis