Naujausias pranešimas: Samba kritinis pažeidžiamumas
frame

Sveiki apsilankę!

Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.

Prisijungti Registruotis

Laiškų siuntimas per komandinę eilutę (terminalą)

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ę.

0. Preliminarūs reikalavimai

  • Linux distribucijos serveris.

1. Naudojant sendmail komandą

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.

1. Naudojant mail komandą

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

  • Parametras -s naudojamas tam, kad galima būtų nurodyti laiško temą;
  • /dev/null - kelias iki failo, kuriame yra laiško turinys.

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

3. Naudojant mutt komandą

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

4. Laiškų siuntimas naudojant PHP skriptą

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

5. Laiškų siuntimas naudojant PHP su HTML forma

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

Pažymėtos temos:
Norėdami palikti komentarą, turite prisijungti arba registruokis.
Dedikuoti.lt
Šiame forume rasite informaciją kaip atlikti serverio administravimą, konfigūravimą, įvairių tarnybų bei papildomų aplikacijų diegimą. Taip pat pateiksime rekomendacijų, skirtų serverių saugumui, monitoringui ir optimizavimui. Kviečiame prisijungti prie dedikuotų serverių administratorių bendruomenės, dalyvauti diskusijose ir praplėsti savo žinias serverių administravimo srityje!
© 2007 - 2023 Dedikuoti.lt forumas, visos teisės saugumos.