Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.
PrisijungtiRegistruotisJei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.
Nors internete yra apstu įvairių nemokamų el. pašto paslaugų tiekėjų su patogia vartotojo sąsaja, kuriuos naudojame kasdien, kaip Gmail, Yahoo, RediffMail ir pan., tačiau kartais gali prireikti ir laiškų siuntimo funkcijos tiesiai iš komandinės eilutės. Pavyzdžiui, jeigu norite siųsti laiškus pasinaudojant skriptais, periodinėmis užduotimis ar shell'u.
Komandos sendmail, mail ir mutt naudojamos pvienių laiškų siuntimu. Naudojant PHP skriptus galima siųsti didesnius kiekius laiškų iš komandinės eilutės.
Šioje pamokoje pateiksime informaciją su apie kelis dažniausiai naudojamus būdus siųsti laiškas per Linux komandinę eilutę.
Sendmail yra viena populiariausių pašto siuntimo tarnybų Linux serveriuose. Šios programos diegimą bei konfogūravimą rasite kitoje mūsų pamokoje. Naudojant sendmail komandą galima siųsti laišksu tiesiai per komandinę eilutę. Visų pirmą susikurkite failą, kuriame bus nurodoma laiško tema ir tekstas:
nano /tmp/email.txt
Jame įveskite, kaip pavyzdžiui:
Subject: Tema
Tekstas
Dabar galite atlikti laiško siuntimą per komandinę eilutę:
sendmail pastas@mano-svetaine.lt < /tmp/email.txt
Pastaba: laiškai nėra siunčiami, jeigu naudojami lietuviški simboliai.
mail yra dažniausiai naudojama komanda norint siųsti laiškus iš terminalo. Jos naudojimui reikia įdiekti paketą mailutils:
Ubuntu/Debian:
apt install mailutils
CentOS/Redhat:
yum install mailx
Pateikiame kelis pavyzdžius, kaip ši komanda gali būti naudojama:
mail -s "Testo tema" pastas@mano-svetaine.lt < /dev/null
Taip pat galite siųsti laiškus prisegant failą su parametru -a, jeigu naudojate mailx ir -A, jeigu mailutils:
mail -A /opt/backup.sql -s "Kopijos failas" pastas@mano-svetaine.lt < /dev/null
Dar galite siųsti laiškus keliems gavėjams atskiriant juos su kableliu:
mail -s "Testo tema" pastas@mano-svetaine.lt,pastas2@mano-svetaine.lt < /dev/null
Mutt dažniausiai naudojama lokalių dėžučių laiškų skaitymui naudojant terminalą arba laiškų skaitymui POP/IMAP serverius naudojančiose sistemose. Šios komandos sintaksė labai panaši į mail komandą. Norint naudoti mutt reikia įsidiegti papildomą paketą:
Ubuntu/Debian:
apt install mutt
CentOS/RHEL:
yum install -y mutt
Laiško siuntimui naudokite šią komandą:
mutt -s "Testo tema" pastas@mano-svetaine.lt < /dev/null
Pridedant laišką:
mutt -s "Testo tema" -a /opt/backup.sql pastas@mano-svetaine.lt < /dev/null
Norint siųsti laiškus per PHP, toks paketas turi būti įdiegtas į serverį. Diegimą galite atlikti pasinaudodami šiomis instrukcijomis:
Ubuntu/Debian: https://forumas.dedikuoti.lt/discussion/895/apache-mariadb-ir-php-lamp-diegimas-ubuntu-20-04-lts
CentOS: https://forumas.dedikuoti.lt/discussion/715/lamp-diegimas-centos-7-aplinkoje
Kai serveryje PHP programavimo kalbos paketas bei Apache paketai jau yra įdiegti, galite atlikti PHP failo kūrimą. Kaip pavyzdį, kuriame failą su pavadinimu siuntimas.php. Šis failas turi būti sukuriamas svetainės web failų direktorijoje /var/www/html/. Failo sukūrimui naudokite naudosime nano teksto redaktorių:
nano /var/www/html/siuntimas.php
Faile įkeliame tekstą:
<?php <br> $to_email = "siuntėjas@mano-svetaine.lt";
$subject = "Siuntimas su PHP";
$body = "Labas, tai testinis siuntimas su PHP scriptu";
$headers = "From: siuntejas@mano-svetaine.lt";
if ( mail($to_email, $subject, $body, $headers)) {
echo("Sekmingai pasieke $to_email...");
} else {
echo("Siuntimas nepavyko...");
}
?>
Norint pradėti siuntimą iš komandinės eilutės, paleiskite komandą:
php sendEmail.php
Veikimui reikalingas PHP kodo bei Apache tarnybos veikimas.
Atliekame PHP failo kūrimą. Kaip pavyzdį, kuriame failą su pavadinimu siuntimas.php. Šis failas turi būti sukuriamas svetainės web failų direktorijoje /var/www/html/. Failo sukūrimui naudokite naudosime nano teksto redaktorių:
nano /var/www/html/siuntimas.php
Faile įkeliame tekstą, kurį rasite prisegtame faile - php_skriptas.txt. Pakoreguokite nurodytas reiškes prieš išsaugant.
Dabar galite atsidaryti svetainės adresą, kuriame bus forma ir ją užpildžius laiškas bus išsiunčiamas automatiškai:
http://localhost/sendEmail.php