Origjinali: Shembuj të komandave të postës Linux - dërgoni mesazhe nga linja e komandës
Autori: Silver Moon
Data e publikimit: 27 gusht 2013
Përkthim: A. Krivoshey
Data e transferimit: Dhjetor 2013
Në mënyrë tipike, shërbimet e uebit si gmail dhe yahoo, ose klientët grafikë të postës përdoren për të marrë dhe dërguar postë. Megjithatë, në linux ne gjithashtu mund të dërgojmë ose marrim postë në vijën e komandës. Kjo është e dobishme në situata të tilla si dërgimi i postës nga skriptet, ose kur një GUI nuk është i disponueshëm.
Ky udhëzues përshkruan se si të përdorni komandën e postës për të marrë dhe dërguar postë.
Dërgimi i postës
Në varësi të shpërndarjes që po përdorni, mund t'ju duhet të instaloni paketa shtesë si mailutils që komanda e postës të funksionojë siç duhet.
Përdoruesit e Debian/Ubuntu mund të përdorin komandën apt-get:
# apt-get install mailutils
Përdoruesit e Fedora / CentOS / Red Hat Enterprise Linux (RHEL) mund ta bëjnë këtë me yum:
# yum install mailutils
Komanda e postës tani duhet të jetë gati për të shkuar.
Ekzekutoni komandën më poshtë, duke zëvendësuar " [email i mbrojtur]" në adresën tuaj të emailit. Opsioni s specifikon temën e emailit.
Tani mund të futni tekstin e letrës. Kur të keni mbaruar, shtypni "control-D" në fillim të një rreshti të ri.
# mail -s "Kjo është tema" [email i mbrojtur] Cc: Përshëndetje Silver Si po kalon Shpresoj se po shkon mirë. Mirupafshim
Ju keni dërguar emailin e parë nga linja e komandës. Përmbajtja e letrës mund të futet nga një skedar.
Në disa shpërndarje, guaska do t'ju kërkojë fillimisht në mënyrë interaktive për fusha të tjera, të tilla si "Cc" (kopje e karbonit). Thjesht shtypni "Enter" për të kapërcyer këtë hap. Kur futni një adresë emaili ose adresa, duhet të shtypni "Enter" për të kaluar në një rresht të ri, në trupin e emailit.
Pasi të shtypni Ctrl+D ju ktheheni në vijën e komandës pa asnjë njoftim shtesë. Megjithatë, emaili juaj është dërguar.
Është interesante, nëse nuk futni asgjë në trupin e emailit dhe shtypni Ctrl+D, komanda e postës do të reagojë ndaj kësaj:
# mail -s "Kjo është tema" [email i mbrojtur] Cc: trupi i mesazhit null; shpresoj se është në rregull
Nëse trupi i letrës ruhet në një skedar të veçantë, ne mund ta përdorim atë drejtpërdrejt për të dërguar letrën. Kjo është e dobishme kur thirrni komandën e postës nga skriptet ose programet e tjera të shkruara në perl ose php për shembull.
$ mail -s "Hello World" [email i mbrojtur] < /home/user/mailcontent.txt
Ose për të dërguar shpejt një email në një rresht:
# jehonë "Ky është trupi i mesazhit" | mail-s "Kjo është tema" [email i mbrojtur]
Opsione të tjera të dobishme për komandën e postës:
Subjekti S (subjekti i emailit)
-c adresa e emailit (CC - dërgoni një kopje të letrës në adresat e adresave të emailit)
-b-adresa e emailit (BCC - dërgoni një kopje verbër të letrës në adresat e adresave të postës elektronike)
Më poshtë është një shembull i përdorimit të këtyre opsioneve:
$ mail -s "Hello World" [email i mbrojtur]-c [email i mbrojtur]-b [email i mbrojtur]
Është e mundur të specifikohen marrës të shumtë duke renditur adresat e tyre të ndara me presje.
$ mail -s "Hello World" [email i mbrojtur],[email i mbrojtur]
Përcaktimi i adresës së dërguesit është gjithashtu i lehtë, por këtu ka një mashtrim. Pas letrës që dërgoni, duhet të shtoni sekuencën e mëposhtme të karaktereve përpara adresës suaj:
(double dash) (hapësirë) (single dash) (pa hapësirë) f
Më poshtë është një shembull:
$ mail -s "Hello World" [email i mbrojtur]---f [email i mbrojtur]
Sidoqoftë, sekuenca e mësipërme mund të funksionojë në centos, por jo në debian ose ubuntu. Këto sisteme përdorin një sintaksë alternative:
# jehonë "Ky është trupi i mesazhit" | mail-s "Kjo është tema" [email i mbrojtur]-Nga: [email i mbrojtur]
Opsioni a në përgjithësi shton tituj shtesë. Për të vendosur dërguesin me të, përdorni sintaksën e mëposhtme:
# jehonë "Ky është trupi i mesazhit" | mail-s "Kjo është tema" [email i mbrojtur]-Nga:Blogger\
Ju lutemi vini re se ne u shpëtojmë kllapave të këndit, pasi ato mund të kenë qëllimin e tyre për guaskën.
Dërgimi i emaileve me bashkëngjitje
Komanda e postës përdoret ende sot pasi është një mënyrë e shpejtë dhe e lehtë për të dërguar email, por fatkeqësisht nuk mbështet dërgimin e bashkëngjitjeve. Tani do të bëjmë hapin tjetër dhe do të zbulojmë MUTT. Ky është një klient shumë i fuqishëm i postës elektronike të konsolës dhe mund të bëjë shumë më tepër sesa thjesht dërgimi i emaileve me bashkëngjitje, por në këtë rast, ne jemi të interesuar pikërisht për këtë mundësi.
Nëse nuk keni mutt të instaluar si parazgjedhje, mund ta bëni këtë me apt-get ose yum si root (ose duke përdorur sudo):
Për përdoruesit e Debian/Ubuntu:
# apt-get install mutt
Për përdoruesit e Fedora/CentOS ose Red Hat Enterprise Linux (RHEL):
# yum install mutt
Tani mund të dërgoni email me bashkëngjitje nga linja e komandës.
Dërgimi i një emaili të thjeshtë:
# jehonë "Ky është trupi i mesazhit" | mutt -s "përshëndetje" [email i mbrojtur]
Dërgimi i një emaili me një bashkëngjitje:
$ mutt -s "Hello World" -a /home/user/file_to_attach.tar.gz [email i mbrojtur] < home/user/mailcontent.txt
Gjithçka është e thjeshtë.
Dërgimi i emaileve nga skriptet bash/shell
Tani le të gërmojmë më thellë dhe të përpiqemi të dërgojmë një email nga një script shell. Më poshtë është një skript i thjeshtë që dërgon informacionin e përdorimit të diskut.
#!/bin/bash du -sh | mail -s "raporti i përdorimit të diskut" [email i mbrojtur]
Hapni një skedar të ri, ngjitni rreshtat e mësipërm në të, ruani dhe ekzekutoni. Do të merrni një email që përmban daljen e komandës "du -sh".
Dhe truku i fundit në shkronjat nga linja e komandës është shtimi i bashkëngjitjeve në letrat e dërguara nga skriptet. Supozoni se duhet të kopjoni direktorinë tuaj të konfigurimit, ta zipni atë dhe ta dërgoni si një bashkëngjitje duke përdorur mutt:
#!/bin/bash tar -zcf /home/user/backup.tar.gz /home/user/files_to_backup echo "Skedarët e konfigurimit të arkivuar" | mutt -a /home/user/backup.tar.gz -s "të dhënat rezervë" [email i mbrojtur]
Komanda echo në fillim të rreshtit të tretë shton tekstin "Skedarët e konfigurimit të arkivuar" në trupin e emailit.
Leximi i letrave
Deri më tani, ne kemi parë dërgimin e emaileve nga linja e komandës. Në fakt, është gjithashtu e lehtë të lexosh email nga vija e komandës:
Ju mund të keni vënë re se ne përdorim të njëjtën komandë për të dërguar dhe marrë email. Megjithatë, nuk keni nevojë të shtoni ndonjë opsion për të lexuar emailet.
Më poshtë është një dalje e thjeshtë:
$ mail Heirloom Mail version 12.4 7/29/08. lloji? per ndihme. "/var/spool/mail/hcg": 2 mesazhe 2 të reja >N 1 [email i mbrojtur] e enjte 1 gusht 16:53 81/3034 "Hello World" N 2 [email i mbrojtur] e enjte gusht 1 16:54 82/3061 "raporti i përdorimit të diskut" &
Rreshti i parë i daljes është versioni i programit të postës. Rreshti i dytë thotë se ka dy mesazhe, të dyja të palexuara, dhe posta ruhet në skedarin /var/spool/mail/hcg.
Për të gjithë përdoruesit e Linux-it, skedari i postës gjendet në drejtorinë /var/spool/mail/. Kur merret një email i ri, ai shtohet në fund të këtij skedari. Pas informacionit në lidhje me skedarin, shfaqet një listë me shkronja.
Rekomandohet shumë të mos e modifikoni këtë skedar pa përdorur postë ose një program të ngjashëm. Mënyra më e mirë për të lexuar ose kërkuar postë është me grep.
Për të lexuar emailin e parë, thjesht shkruani 1 dhe shtypni enter. Kur lexoni një letër, nëse duhet të ktheheni në listën e shkronjave, thjesht shtypni "q". Simboli > tregon se cili email është aktualisht ai aktual.
Komanda Maildir-utils
"mu" është një grup shërbimesh të linjës komanduese për Linux/Unix që ju lejon të kërkoni shpejt për email.
Përdoruesit e Debian/Ubuntu mund ta instalojnë atë me apt-get:
# apt-get install maildir-utils
Përdoruesit e Fedora / CentOS / Red Hat Enterprise Linux (RHEL) mund të përdorin yum:
# yum install maildir-utils
Më poshtë janë disa komanda të thjeshta nga kjo paketë:
$ mu gjeni nga:william subjekt:raport
për të kërkuar emaile nga William me raportin e subjektit.
Për të kontrolluar cilësimet aktuale të postës, përdorni opsionin e informacionit.
# info mu-tool VERSION=2.99.97 SYSCONFDIR=/etc MAILSPOOLDIR=/var/mail/ SCHEME=mbox LOG_FACILITY=mail .....
Pra, mund të përmbledhim. Në fakt, marrja dhe dërgimi i emaileve nga linja e komandës nuk është aq e vështirë nëse e dini se çfarë po bëni.
Skenari: domeni juaj: domeni mydomain.com që dëshironi të paraqisni: theirdomain.com
1. Përcaktoni serverin e postës që po dërgoni. Hapni Prompt CMD Type
NSLOOKUP grup q=mx domain.com
Përgjigje jo autoritative: preferenca e tyredomain.com MX = 50, shkëmbyesi i postës = mail.theirdomain.com Nslookup_big
EDIT Sigurohuni që të shkruani exit për të përfunduar NSLOOKUP.
2. Lidhu me serverin tënd të postës
SMTP komunikon në portën 25. Tani do të përpiqemi të përdorim TELNET për t'u lidhur me serverin tonë të postës "mail.theirdomain.com"
Hapni një kërkesë CMD
TELNET MAIL.THEIRDOMAIN.COM 25
Ju duhet të shihni diçka të tillë si përgjigje:
220 mx.google.com ESMTP 6si6253627yxg.6
Mbani në mend se serverë të ndryshëm do të kenë përshëndetje të ndryshme, por ju duhet të merrni DIÇKA. Nëse asgjë nuk del në këtë pikë, ka dy probleme të mundshme. Porta 25 është e bllokuar në murin tuaj të zjarrit ose serveri i tyre nuk po përgjigjet. Provoni një domen tjetër, nëse funksionon, atëherë nuk jeni ju.
3. Dërgoni një email
Tani përdorni komanda të thjeshta SMTP për të dërguar një mesazh provë. Kjo është shumë e rëndësishme, ju NUK MUND të përdorni tastin backspace, ai do të funksionojë në ekran, por nuk do të interpretohet saktë. Ju duhet t'i shkruani këto komanda në mënyrë të përsosur.
Ehlo mydomain.com email nga:
Pra, çfarë do të thotë kjo? EHLO - prezantohu me serverin e postës HELO mund të përdoret gjithashtu, por EHLO i thotë serverit të përdorë një grup komandash të zgjeruar (jo atë që ne përdorim).
MAIL NGA - kush po e dërgon emailin. Sigurohuni që të jetë më i madh ose më i vogël se në kllapa pasi kjo do të kërkojë shumë serverë emaili (Postini).
RCPT TE - kujt po ia dërgoni. Përsëri duhet të përdorni kllapa. Shihni hapin #4 se si të testoni reletë e postës!
TË DHËNAT - i tregon serverit SMTP se pjesa e mëposhtme është pjesa e emailit tuaj. Mos harroni të shtypni "Enter" në fund.
Vetëm një pikë në linjë i tregon serverit SMTP që të gjithë keni mbaruar me një pjesë të të dhënave dhe është e qartë për të dërguar një email.
mbyll - përfundon seancën TELNET.
4. Testi i stafetës SMTP Testimi i stafetës SMTP është shumë i thjeshtë dhe kërkon vetëm një modifikim të lehtë të komandave të mësipërme. Shikoni më poshtë:
Ehlo mydomain.com email nga:
E shihni ndryshimin? Në linjën RCPT TO, ne po dërgojmë një domen që nuk kontrollohet nga serveri SMTP që po dërgojmë. Do të merrni një gabim të menjëhershëm: releja SMTP është e çaktivizuar. Nëse mund të vazhdoni dhe të dërgoni një email, atëherë transmetimi lejohet nga ai server.
Autori: Silver Moon
Data e publikimit: 27 gusht 2013
Përkthim: A. Krivoshey
Data e transferimit: Dhjetor 2013
Në mënyrë tipike, shërbimet e uebit si gmail dhe yahoo, ose klientët grafikë të postës përdoren për të marrë dhe dërguar postë. Megjithatë, në linux ne gjithashtu mund të dërgojmë ose marrim postë në vijën e komandës. Kjo është e dobishme në situata të tilla si dërgimi i postës nga skriptet, ose kur një GUI nuk është i disponueshëm.
Ky udhëzues përshkruan se si të përdorni komandën e postës për të marrë dhe dërguar postë.
Dërgimi i postës
Në varësi të shpërndarjes që po përdorni, mund t'ju duhet të instaloni paketa shtesë si mailutils që komanda e postës të funksionojë siç duhet.
Përdoruesit e Debian/Ubuntu mund të përdorin komandën apt-get:
# apt-get install mailutils
Përdoruesit e Fedora / CentOS / Red Hat Enterprise Linux (RHEL) mund ta bëjnë këtë me yum:
# yum install mailutils
Komanda e postës tani duhet të jetë gati për të shkuar.
Ekzekutoni komandën më poshtë, duke zëvendësuar " [email i mbrojtur]» në adresën tuaj të emailit. Opsioni s specifikon temën e emailit.
Tani mund të futni tekstin e letrës. Kur të keni mbaruar, shtypni "control-D" në fillim të një rreshti të ri.
# mail -s "Kjo është tema" [email i mbrojtur] Cc: Përshëndetje Silver Si po kalon Shpresoj se po shkon mirë. Mirupafshim
Ju keni dërguar emailin e parë nga linja e komandës. Përmbajtja e letrës mund të futet nga një skedar.
Në disa shpërndarje, guaska do t'ju kërkojë fillimisht në mënyrë interaktive për fusha të tjera, të tilla si "Cc" (kopje e karbonit). Thjesht shtypni "Enter" për të kapërcyer këtë hap. Kur futni një adresë emaili ose adresa, duhet të shtypni "Enter" për të kaluar në një rresht të ri, në trupin e letrës.
Pasi të shtypni Ctrl+D ju ktheheni në vijën e komandës pa asnjë njoftim shtesë. Megjithatë, emaili juaj është dërguar.
Është interesante, nëse nuk futni asgjë në trupin e emailit dhe shtypni Ctrl+D, komanda e postës do të reagojë ndaj kësaj:
# mail -s "Kjo është tema" [email i mbrojtur] Cc: trupi i mesazhit null; shpresoj se është në rregull
Nëse trupi i letrës ruhet në një skedar të veçantë, ne mund ta përdorim atë drejtpërdrejt për të dërguar letrën. Kjo është e dobishme kur thirrni komandën e postës nga skriptet ose programet e tjera të shkruara në perl ose php për shembull.
$ mail -s "Hello World" [email i mbrojtur]
Ose për të dërguar shpejt një email në një rresht:
# jehonë "Ky është trupi i mesazhit" | mail-s "Kjo është tema" [email i mbrojtur]
Opsione të tjera të dobishme për komandën e postës:
Subjekti S (subjekti i emailit)
-c adresa e emailit (CC - dërgoni një kopje të letrës në adresat e adresave të emailit)
-b-adresa e emailit (BCC - dërgoni një kopje verbër të letrës në adresat e adresave të postës elektronike)
Më poshtë është një shembull i përdorimit të këtyre opsioneve:
$ mail -s "Hello World" [email i mbrojtur]-c [email i mbrojtur]-b [email i mbrojtur]
Është e mundur të specifikohen marrës të shumtë duke renditur adresat e tyre të ndara me presje.
$ mail -s "Hello World" [email i mbrojtur],[email i mbrojtur]
Përcaktimi i adresës së dërguesit është gjithashtu i lehtë, por këtu ka një mashtrim. Pas letrës që dërgoni, duhet të shtoni sekuencën e mëposhtme të karaktereve përpara adresës suaj:
(double dash) (hapësirë) (single dash) (pa hapësirë) f
Më poshtë është një shembull:
$ mail -s "Hello World" [email i mbrojtur]---f [email i mbrojtur]
Sidoqoftë, sekuenca e mësipërme mund të funksionojë në centos, por jo në debian ose ubuntu. Këto sisteme përdorin një sintaksë alternative:
# jehonë "Ky është trupi i mesazhit" | mail-s "Kjo është tema" [email i mbrojtur]-Nga: [email i mbrojtur] narytides.com
Opsioni a në përgjithësi shton tituj shtesë. Për të vendosur dërguesin me të, përdorni sintaksën e mëposhtme:
# jehonë "Ky është trupi i mesazhit" | mail-s "Kjo është tema" [email i mbrojtur]-Nga:Blogger\
Ju lutemi vini re se ne u shpëtojmë kllapave të këndit, pasi ato mund të kenë qëllimin e tyre për guaskën.
Dërgimi i emaileve me bashkëngjitje
Komanda e postës përdoret ende sot pasi është një mënyrë e shpejtë dhe e lehtë për të dërguar email, por fatkeqësisht nuk mbështet dërgimin e bashkëngjitjeve. Tani do të bëjmë hapin tjetër dhe do të zbulojmë MUTT. Ky është një klient shumë i fuqishëm i postës elektronike të konsolës dhe mund të bëjë shumë më tepër sesa thjesht dërgimi i emaileve me bashkëngjitje, por në këtë rast, ne jemi të interesuar pikërisht për këtë mundësi.
Nëse nuk keni mutt të instaluar si parazgjedhje, mund ta bëni këtë me apt-get ose yum si root (ose duke përdorur sudo):
Për përdoruesit e Debian/Ubuntu:
# apt-get install mutt
Për përdoruesit e Fedora/CentOS ose Red Hat Enterprise Linux (RHEL):
# yum install mutt
Tani mund të dërgoni email me bashkëngjitje nga linja e komandës.
Dërgimi i një emaili të thjeshtë:
# jehonë "Ky është trupi i mesazhit" | mutt -s "përshëndetje" [email i mbrojtur]
Dërgimi i një emaili me një bashkëngjitje:
$ mutt -s "Hello World" -a /home/user/file_to_attach.tar.gz [email i mbrojtur]
Gjithçka është e thjeshtë.
Dërgimi i emaileve nga skriptet bash/shell
Tani le të gërmojmë më thellë dhe të përpiqemi të dërgojmë një email nga një script shell. Më poshtë është një skript i thjeshtë që dërgon informacionin e përdorimit të diskut.
#!/bin/bash du -sh | mail -s "raporti i përdorimit të diskut" [email i mbrojtur]
Hapni një skedar të ri, ngjitni rreshtat e mësipërm në të, ruani dhe ekzekutoni. Do të merrni një email që përmban daljen e komandës "du -sh".
Dhe truku i fundit në shkronjat nga linja e komandës është shtimi i bashkëngjitjeve në letrat e dërguara nga skriptet. Supozoni se duhet të kopjoni direktorinë tuaj të konfigurimit, ta zipni atë dhe ta dërgoni si një bashkëngjitje duke përdorur mutt:
#!/bin/bash tar -zcf /home/user/backup.tar.gz /home/user/files_to_backup echo "Skedarët e konfigurimit të arkivuar" | mutt -a /home/user/backup.tar.gz -s "të dhënat rezervë" [email i mbrojtur]
Komanda echo në fillim të rreshtit të tretë shton tekstin "Skedarët e konfigurimit të arkivuar" në trupin e emailit.
Leximi i letrave
Deri më tani, ne kemi parë dërgimin e emaileve nga linja e komandës. Në fakt, është gjithashtu e lehtë të lexosh email nga vija e komandës:
Ju mund të keni vënë re se ne përdorim të njëjtën komandë për të dërguar dhe marrë email. Megjithatë, nuk keni nevojë të shtoni ndonjë opsion për të lexuar emailet.
Më poshtë është një dalje e thjeshtë:
$ mail Heirloom Mail version 12.4 7/29/08. lloji? per ndihme. "/var/spool/mail/hcg": 2 mesazhe 2 të reja >N 1 [email i mbrojtur] e enjte 1 gusht 16:53 81/3034 "Hello World" N 2 [email i mbrojtur] e enjte gusht 1 16:54 82/3061 "raporti i përdorimit të diskut" &
Rreshti i parë i daljes është versioni i programit të postës. Rreshti i dytë thotë se ka dy mesazhe, të dyja të palexuara, dhe posta ruhet në skedarin /var/spool/mail/hcg.
Për të gjithë përdoruesit e Linux-it, skedari i postës gjendet në drejtorinë /var/spool/mail/. Kur merret një email i ri, ai shtohet në fund të këtij skedari. Pas informacionit në lidhje me skedarin, shfaqet një listë me shkronja.
Rekomandohet shumë të mos e modifikoni këtë skedar pa përdorur postë ose një program të ngjashëm. Mënyra më e mirë për të lexuar ose kërkuar postë është me grep.
Për të lexuar emailin e parë, thjesht shkruani 1 dhe shtypni enter. Kur lexoni një letër, nëse duhet të ktheheni në listën e shkronjave, thjesht shtypni "q". Simboli > tregon se cili email është aktualisht ai aktual.
Komanda Maildir-utils
"mu" është një grup shërbimesh të linjës komanduese për Linux/Unix që ju lejon të kërkoni shpejt për email.
Përdoruesit e Debian/Ubuntu mund ta instalojnë atë me apt-get:
# apt-get install maildir-utils
Përdoruesit e Fedora / CentOS / Red Hat Enterprise Linux (RHEL) mund të përdorin yum:
# yum install maildir-utils
Më poshtë janë disa komanda të thjeshta nga kjo paketë:
$ mu gjeni nga:william subjekt:raport
për të kërkuar emaile nga William me raportin e subjektit.
Për të kontrolluar cilësimet aktuale të postës, përdorni opsionin e informacionit.
# info mu-tool VERSION=2.99.97 SYSCONFDIR=/etc MAILSPOOLDIR=/var/mail/ SCHEME=mbox LOG_FACILITY=mail .....
Pra, mund të përmbledhim. Në fakt, marrja dhe dërgimi i emaileve nga linja e komandës nuk është aq e vështirë nëse e dini se çfarë po bëni.
Burimi http://rus-linux.net/MyLDP/consol/mails.html