Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Windows Phone
  • Trimiterea de e-mail în linia de comandă Windows. Primiți și trimiteți e-mailuri din linia de comandă

Trimiterea de e-mail în linia de comandă Windows. Primiți și trimiteți e-mailuri din linia de comandă

Original: exemple de comandă de e-mail Linux - trimiteți e-mailuri din linia de comandă
Autor: Silver Moon
Data publicării: 27 august 2013
Traducere: A. Krivoshey
Data transferului: decembrie 2013

În mod obișnuit, servicii web, cum ar fi Gmail și Yahoo, sau clienți de e-mail grafic sunt utilizați pentru a primi și trimite e-mailuri. Cu toate acestea, în linux putem trimite sau primi e-mail și pe linia de comandă. Acest lucru este util în situații precum trimiterea de e-mailuri din scripturi sau în cazurile în care înveliș grafic nu este disponibil.
Acest tutorial descrie cum să utilizați comanda mail pentru a primi și trimite e-mail.

Se trimite mail

În funcție de distribuția pe care o utilizați, poate fi necesar să o instalați pachete suplimentare, cum ar fi mailutils, astfel încât comanda mail să funcționeze corect.

Utilizatorii Debian/Ubuntu pot folosi comanda apt-get:

# apt-get install mailutils

Utilizatorii Fedora/CentOS/Red Hat Enterprise Linux (RHEL) pot face acest lucru folosind yum:

# yum instalează mailutils

Comanda de e-mail ar trebui să fie acum gata.

Rulați comanda de mai jos, înlocuind „ [email protected]"la adresa ta E-mail. Opțiunea s specifică subiectul scrisorii.

Acum puteți introduce textul scrisorii. Când ați terminat, apăsați „control-D” la începutul unei noi linii.

# mail -s „Acesta este subiectul” [email protected] Cc: Bună Silver Cum tu esti sper că merge bine. Pa

Ai trimis prima scrisoare de la Linie de comanda. Conținutul scrisorii poate fi introdus dintr-un fișier.
Pe unele distribuții shell de comandă va intreba mai intai in modul interactiv introducerea altor câmpuri precum „Cc” (Copie carbon). Doar apăsați „Enter” pentru a sări peste acest pas. După ce ați introdus adresa sau adresele de e-mail, trebuie să apăsați „Enter” pentru a vă deplasa la linie nouă, la corpul scrisorii.
După ce apăsați Ctrl+D, reveniți la linia de comandă fără notificări suplimentare. Cu toate acestea, scrisoarea dvs. a fost trimisă.
Interesant, dacă nu tastați nimic în corpul e-mailului și apăsați Ctrl+D, comanda de e-mail va răspunde astfel:

# mail -s „Acesta este subiectul” [email protected] Cc: Corpul mesajului nul; sper ca e ok

Dacă corpul scrisorii este stocat în nostru dosar separat, îl putem folosi direct pentru a trimite un e-mail. Acest lucru este util atunci când apelați comanda mail din scripturi sau din alte programe scrise, de exemplu, în perl sau php.

$mail -s" Salut Lume" [email protected] < /home/user/mailcontent.txt

Sau trimitere rapidă litere dintr-un singur rând:

# echo „Acesta este corpul mesajului” | mail -s „Acesta este subiectul” [email protected]

Alte parametri utili comenzi de mail:

S subiect (subiect al literei)
-c adresa de e-mail (CC - trimiterea unei copii a scrisorii la adresele de e-mail)
-b adresa de e-mail (BCC - trimitere bcc scrisori către adrese de e-mail)

Mai jos este un exemplu de utilizare a acestor opțiuni:

$mail -s „Bună lume” [email protected]-c [email protected]-b [email protected]

Este posibil să specificați mai mulți destinatari, listându-le adresele separate prin virgule.

$mail -s „Bună lume” [email protected],[email protected]

Specificarea adresei expeditorului este, de asemenea, ușoară, dar există un truc aici. După trimiterea unei scrisori, trebuie să adăugați următoarea secvență de caractere înainte de adresa dvs.:

(liniuță dublă) (spațiu) (liniuță simplă) (fără spațiu) f

Mai jos este un exemplu:

$mail -s „Bună lume” [email protected]-- -f [email protected]

Cu toate acestea, secvența de mai sus poate funcționa în centos, dar nu și în debian sau ubuntu. Aceste sisteme folosesc o sintaxă alternativă:

# echo „Acesta este corpul mesajului” | mail -s „Acesta este subiectul” [email protected]-a De la: [email protected]

Opțiunea a adaugă în general anteturi suplimentare. Pentru a specifica expeditorul care îl folosește, utilizați următoarea sintaxă:

# echo „Acesta este corpul mesajului” | mail -s „Acesta este subiectul” [email protected]-aFrom:Blogger\

Vă rugăm să rețineți că scăpăm de parantezele unghiulare, deoarece acestea pot avea propriul lor scop pentru shell-ul de comandă.

Trimiterea de e-mailuri cu atașamente

Comanda mail este folosită și astăzi pentru că este simplă și cale rapidă trimiterea de e-mailuri, dar din păcate nu acceptă trimiterea de atașamente. Acum vom face urmatorul pasși descoperă MUTT. Aceasta este o consolă foarte puternică client de mail, și poate face mult mai mult decât să trimită e-mailuri cu atașamente, dar în acest caz, Această posibilitate este cea care ne interesează.

Dacă nu aveți mutt instalat în mod implicit, o puteți face folosind apt-get sau yum from numele rădăcină(sau folosind sudo):

Pentru utilizatorii Debian/Ubuntu:

# apt-get install mutt

Pentru utilizatorii Fedora/CentOS sau Red Hat Enterprise Linux (RHEL):

# yum install mutt

Acum puteți trimite e-mailuri cu atașamente din linia de comandă.

Trimiterea unei scrisori simple:

# echo „Acesta este corpul mesajului” | mutt -s "bună ziua" [email protected]

Trimiterea unui e-mail cu un atașament:

$ mutt -s „Bună lume” -a /home/user/file_to_attach.tar.gz [email protected] < home/user/mailcontent.txt

E simplu.

Trimiterea de e-mailuri din scripturi bash/shell

Acum să cercetăm mai profund și să încercăm să trimitem un e-mail dintr-un script shell. Mai jos este un script simplu care trimite informații despre utilizarea discului.

#!/bin/bash du -sh | mail -s „raport de utilizare a discului” [email protected]

Deschis fișier nou, lipiți liniile de mai sus în el, salvați și rulați. Veți primi un e-mail care conține rezultatul comenzii „du -sh”.
Și ultimul truc în scrisorile de la termeni de comandă- adăugarea de atașamente la scrisorile trimise din scripturi. Să zicem că trebuie să faci copie de rezervă directoare cu fișierele de configurare, arhivați-l și trimiteți-l ca atașament folosind mutt:

#!/bin/bash tar -zcf /home/user/backup.tar.gz /home/user/files_to_backup echo „Fișiere de configurare arhivate” | mutt -a /home/user/backup.tar.gz -s " date de rezervă" [email protected]

Comanda echo de la începutul celei de-a treia rânduri adaugă textul „Fișiere de configurare arhivate” în corpul mesajului.

Citirea scrisorilor

Până acum ne-am uitat la trimiterea de e-mailuri din linia de comandă. De fapt, puteți citi cu ușurință e-mailurile din linia de comandă:

Probabil ați observat că folosim aceeași comandă pentru a trimite și primi e-mailuri. Cu toate acestea, nu trebuie să adăugați nicio opțiune pentru a citi e-mailurile.
Mai jos este o concluzie simplă:

$ mail Heirloom Mail versiunea 12.4 7/29/08. Tip? pentru ajutor. „/var/spool/mail/hcg”: 2 mesaje 2 noi >N 1 [email protected] Joi 1 aug 16:53 81/3034 „Hello World” N 2 [email protected] Joi, 1 august 16:54 82/3061 „raport de utilizare a discului” &

Prima linie de ieșire este versiunea programe de mail. A doua linie spune că există două mesaje, ambele necitite, iar e-mailul este stocat în fișierul /var/spool/mail/hcg.
Toți au utilizatorii Linux fișierul de e-mail se află în directorul /var/spool/mail/. Când se primește o nouă scrisoare, aceasta este adăugată la sfârșitul acestui fișier. După informațiile despre fișier, este afișată o listă de litere.
Este recomandat să nu editați acest fișier fără folosind mail sau program similar. Cel mai bun mod de a citi sau de a căuta litere este cu grep.
Pentru a citi prima literă, introduceți pur și simplu 1 și apăsați enter. În timp ce citiți o scrisoare, dacă trebuie să vă întoarceți la lista de litere, apăsați pur și simplu „q”. Simbolul > indică care e-mail este în prezent cel curent.

Comanda Maildir-utils

„mu” este un set de utilitare de linie de comandă pentru Linux/Unix care vă permite cautare rapida scrisori.

Utilizatorii Debian/Ubuntu îl pot instala folosind apt-get:

# apt-get install maildir-utils

Utilizatorii Fedora/CentOS/Red Hat Enterprise Linux (RHEL) pot folosi yum:

# yum instalează maildir-utils

Mai jos un cuplu comenzi simple din acest pachet:

$ mu find from:william subject:report

pentru a căuta e-mailuri de la william cu subiectul raportului.

A verifica setarile curente mail, se folosește opțiunea de informații.

# mu-tool info VERSION=2.99.97 SYSCONFDIR=/etc MAILSPOOLDIR=/var/mail/ SCHEME=mbox LOG_FACILITY=mail .....

Deci, putem rezuma. Primirea și trimiterea de e-mailuri din linia de comandă nu este chiar atât de dificilă dacă știi ce faci.

Scenariu: domeniul dvs.: domeniul meudomeniu.com pe care doriți să-l trimiteți: domeniul lor.com

1. Identificați serverul de e-mail către care trimiteți. Deschideți promptul CMD Type

NSLOOKUP setează q=mx domeniul lor.com

Răspuns neautorizat: lordomeniu.com preferință MX = 50, schimbător de e-mail = mail.domeniul lor.com Nslookup_big

EDITAȚI | × Asigurați-vă că intrați în ieșire pentru a finaliza NSLOOKUP.

2. Conectați-vă la serverul dvs. de e-mail

SMTP comunică pe portul 25. Acum vom încerca să folosim TELNET pentru a ne conecta la serverul nostru de e-mail „mail.theirdomain.com”

Deschideți o solicitare CMD

TELNET MAIL.THEIRDOMAIN.COM 25

Ar trebui să vedeți ceva de genul acesta ca răspuns:

220 mx.google.com ESMTP 6si6253627yxg.6

Ține minte că servere diferite va avea salutări diferite, dar ar trebui să primiți CEVA. Dacă nu apare nimic în acest moment, sunt două posibile probleme. Portul 25 este blocat pe firewall sau serverul lor nu răspunde. Încearcă un alt domeniu, dacă funcționează, atunci nu ești tu.

3. Trimiteți e-mail

Acum utilizați comenzi SMTP simple pentru a trimite un mesaj de testare. Acest lucru este foarte important, NU POȚI folosi tasta Backspace, va funcționa pe ecran dar nu va fi interpretat corect. Trebuie să tastați aceste comenzi perfect.

E-mail Ehlo mydomain.com de la: rcpt la:

Deci, ce înseamnă asta? EHLO - prezentați-vă la server de mail Poate fi folosit și HELO, dar EHLO îi spune serverului să folosească un set extins de comenzi (nu cel pe care îl folosim noi).

MAIL FROM - cine trimite e-mailul. Asigurați-vă că acest lucru este mai mult sau mai puțin decât paranteze, deoarece acest lucru va necesita mai multe servere de e-mail (Postini).

RCPT TO - cui îl trimiteți. Din nou trebuie să folosiți paranteze. Consultați Pasul #4 despre cum să testați releul de e-mail!

DATE - Spune serverului SMTP că următorul text este corpul e-mailului dvs. Nu uitați să apăsați „Enter” la sfârșit.

Numai punctul din rând îi spune serverului SMTP că ați terminat cu datele și este clar să trimiteți e-mailul.

ieșire - încheie sesiunea TELNET.

4. Testarea releului SMTP Testarea releului SMTP este foarte simplă și necesită doar o ușoară modificare a comenzilor de mai sus. Vezi mai jos:

E-mail Ehlo mydomain.com de la: rcpt la: date Acesta este un test, vă rugăm să nu răspundeți. părăsi

Vezi diferenta? În linia RCPT TO trimitem un domeniu care nu este controlat Server SMTP, către care trimitem. Veți primi o eroare imediată: releul SMTP este dezactivat. Dacă puteți continua și trimite un e-mail, atunci retransmiterea este permisă de acel server.


Autor: Silver Moon
Data publicării: 27 august 2013
Traducere: A. Krivoshey
Data transferului: decembrie 2013

În mod obișnuit, servicii web, cum ar fi Gmail și Yahoo, sau clienți de e-mail grafic sunt utilizați pentru a primi și trimite e-mailuri. Cu toate acestea, în linux putem trimite sau primi e-mail și pe linia de comandă. Acest lucru este util în situații precum trimiterea de e-mailuri din scripturi sau în cazurile în care interfața grafică nu este disponibilă.
Acest tutorial descrie cum să utilizați comanda mail pentru a primi și trimite e-mail.

Se trimite mail

În funcție de distribuția pe care o utilizați, poate fi necesar să instalați pachete suplimentare, cum ar fi mailutils, pentru ca comanda mail să funcționeze corect.

Utilizatorii Debian/Ubuntu pot folosi comanda apt-get:

# apt-get install mailutils

Utilizatorii Fedora/CentOS/Red Hat Enterprise Linux (RHEL) pot face acest lucru folosind yum:

# yum instalează mailutils

Comanda de e-mail ar trebui să fie acum gata.

Rulați comanda de mai jos, înlocuind „ [email protected]» la adresa dvs. de e-mail. Opțiunea s specifică subiectul scrisorii.

Acum puteți introduce textul scrisorii. Când ați terminat, apăsați „control-D” la începutul unei noi linii.

# mail -s „Acesta este subiectul” [email protected] Cc: Bună Silver Ce mai faci. Sper că merge bine. Pa

Ați trimis primul e-mail din linia de comandă. Conținutul scrisorii poate fi introdus dintr-un fișier.
Pe unele distribuții, shell-ul vă va solicita mai întâi să introduceți în mod interactiv alte câmpuri, cum ar fi „Cc” (copie carbon). Doar apăsați „Enter” pentru a sări peste acest pas. După ce ați introdus adresa sau adresele de e-mail, trebuie să apăsați Enter pentru a trece la o nouă linie, la corpul e-mailului.
După ce apăsați Ctrl+D, reveniți la linia de comandă fără notificări suplimentare. Cu toate acestea, scrisoarea dvs. a fost trimisă.
Interesant, dacă nu tastați nimic în corpul e-mailului și apăsați Ctrl+D, comanda de e-mail va răspunde astfel:

# mail -s „Acesta este subiectul” [email protected] Cc: Corpul mesajului nul; sper ca e ok

Dacă stocăm corpul scrisorii într-un fișier separat, îl putem folosi direct pentru a trimite scrisoarea. Acest lucru este util atunci când apelați comanda mail din scripturi sau din alte programe scrise, de exemplu, în perl sau php.

$mail -s „Bună lume” [email protected]

Sau trimiteți rapid o scrisoare pe un singur rând:

# echo „Acesta este corpul mesajului” | mail -s „Acesta este subiectul” [email protected]

Alte opțiuni utile de comandă de e-mail:

S subiect (subiect al literei)
-c adresa de e-mail (CC - trimiterea unei copii a scrisorii la adresele de e-mail)
-b adresa de e-mail (BCC - trimiterea unei copii oarbe a scrisorii la adresele de e-mail)

Mai jos este un exemplu de utilizare a acestor opțiuni:

$mail -s „Bună lume” [email protected]-c [email protected]-b [email protected]

Este posibil să specificați mai mulți destinatari, listându-le adresele separate prin virgule.

$mail -s „Bună lume” [email protected],[email protected]

Specificarea adresei expeditorului este, de asemenea, ușoară, dar există un truc aici. După trimiterea unei scrisori, trebuie să adăugați următoarea secvență de caractere înainte de adresa dvs.:

(liniuță dublă) (spațiu) (liniuță simplă) (fără spațiu) f

Mai jos este un exemplu:

$mail -s „Bună lume” [email protected]-- -f [email protected]

Cu toate acestea, secvența de mai sus poate funcționa în centos, dar nu și în debian sau ubuntu. Aceste sisteme folosesc o sintaxă alternativă:

# echo „Acesta este corpul mesajului” | mail -s „Acesta este subiectul” [email protected]-a De la: [email protected]

Opțiunea a adaugă în general anteturi suplimentare. Pentru a specifica expeditorul care îl folosește, utilizați următoarea sintaxă:

# echo „Acesta este corpul mesajului” | mail -s „Acesta este subiectul” [email protected]-aFrom:Blogger\

Vă rugăm să rețineți că scăpăm de parantezele unghiulare, deoarece acestea pot avea propriul lor scop pentru shell-ul de comandă.

Trimiterea de e-mailuri cu atașamente

Comanda mail este folosită și astăzi deoarece este o modalitate rapidă și ușoară de a trimite e-mailuri, dar, din păcate, nu acceptă trimiterea de atașamente. Acum vom face pasul următor și vom descoperi MUTT. Acesta este un client de e-mail pentru consolă foarte puternic și poate face mult mai mult decât să trimită e-mailuri cu atașamente, dar în acest caz este această caracteristică care ne interesează.

Dacă nu aveți mutt instalat în mod implicit, puteți face acest lucru cu apt-get sau yum ca root (sau folosind sudo):

Pentru utilizatorii Debian/Ubuntu:

# apt-get install mutt

Pentru utilizatorii Fedora/CentOS sau Red Hat Enterprise Linux (RHEL):

# yum install mutt

Acum puteți trimite e-mailuri cu atașamente din linia de comandă.

Trimiterea unei scrisori simple:

# echo „Acesta este corpul mesajului” | mutt -s "bună ziua" [email protected]

Trimiterea unui e-mail cu un atașament:

$ mutt -s „Bună lume” -a /home/user/file_to_attach.tar.gz [email protected]

E simplu.

Trimiterea de e-mailuri din scripturi bash/shell

Acum să cercetăm mai profund și să încercăm să trimitem un e-mail dintr-un script shell. Mai jos este un script simplu care trimite informații despre utilizarea discului.

#!/bin/bash du -sh | mail -s „raport de utilizare a discului” [email protected]

Deschideți un fișier nou, lipiți liniile de mai sus în el, salvați și rulați. Veți primi un e-mail care conține rezultatul comenzii „du -sh”.
Și ultimul truc în scrisorile din linia de comandă este adăugarea de atașamente la scrisorile trimise din scripturi. Să presupunem că trebuie să faceți o copie de rezervă a unui director cu fișiere de configurare, să-l arhivați și să-l trimiteți ca atașament folosind mutt:

#!/bin/bash tar -zcf /home/user/backup.tar.gz /home/user/files_to_backup echo „Fișiere de configurare arhivate” | mutt -a /home/user/backup.tar.gz -s „date de rezervă” [email protected]

Comanda echo de la începutul celei de-a treia rânduri adaugă textul „Fișiere de configurare arhivate” în corpul mesajului.

Citirea scrisorilor

Până acum ne-am uitat la trimiterea de e-mailuri din linia de comandă. De fapt, puteți citi cu ușurință e-mailurile din linia de comandă:

Probabil ați observat că folosim aceeași comandă pentru a trimite și primi e-mailuri. Cu toate acestea, nu trebuie să adăugați nicio opțiune pentru a citi e-mailurile.
Mai jos este o concluzie simplă:

$ mail Heirloom Mail versiunea 12.4 7/29/08. Tip? pentru ajutor. „/var/spool/mail/hcg”: 2 mesaje 2 noi >N 1 [email protected] Joi 1 aug 16:53 81/3034 „Hello World” N 2 [email protected] Joi, 1 august 16:54 82/3061 „raport de utilizare a discului” &

Prima linie de ieșire este versiunea programului de e-mail. A doua linie spune că există două mesaje, ambele necitite, iar e-mailul este stocat în fișierul /var/spool/mail/hcg.
Pentru toți utilizatorii fișier linux with mail se află în directorul /var/spool/mail/. Când se primește o nouă scrisoare, aceasta este adăugată la sfârșitul acestui fișier. După informațiile despre fișier, este afișată o listă de litere.
Este recomandat să nu editați acest fișier fără a utiliza e-mail sau un program similar. Cel mai bun mod de a citi sau de a căuta litere este cu grep.
Pentru a citi prima literă, introduceți pur și simplu 1 și apăsați enter. În timp ce citiți o scrisoare, dacă trebuie să vă întoarceți la lista de litere, apăsați pur și simplu „q”. Simbolul > indică care e-mail este în prezent cel curent.

Comanda Maildir-utils

„mu” este un set de utilitare de linie de comandă pentru Linux/Unix care vă permite să căutați rapid e-mailuri.

Utilizatorii Debian/Ubuntu îl pot instala folosind apt-get:

# apt-get install maildir-utils

Utilizatorii Fedora/CentOS/Red Hat Enterprise Linux (RHEL) pot folosi yum:

# yum instalează maildir-utils

Mai jos sunt câteva comenzi simple din acest pachet:

$ mu find from:william subject:report

pentru a căuta e-mailuri de la william cu subiectul raportului.

Pentru a verifica setările curente de e-mail, utilizați opțiunea de informații.

# mu-tool info VERSION=2.99.97 SYSCONFDIR=/etc MAILSPOOLDIR=/var/mail/ SCHEME=mbox LOG_FACILITY=mail .....

Deci, putem rezuma. Primirea și trimiterea de e-mailuri din linia de comandă nu este chiar atât de dificilă dacă știi ce faci.

Sursa http://rus-linux.net/MyLDP/consol/mails.html

Cele mai bune articole pe această temă