Articles

Linux mail command examples-send mails from command line (Română)

Posted by admin

Send mails from command-line

fiind capabil de a trimite email – uri de la command-line de la un server este destul de util atunci când aveți nevoie pentru a genera email-uri programatic din script-uri shell sau aplicații web, de exemplu.acest tutorial explică, cum să utilizați la comanda mail pe linux pentru a trimite mail-uri de la linia de comandă folosind comanda mail.,

cum funcționează comanda mail

pentru cei care sunt curioși despre modul în care comanda mail livrează mesajele către destinatari, iată o mică explicație rapidă.

comanda mail invocă binarul standard sendmail (/usr/sbin / sendmail) care, la rândul său, se conectează la MTA local pentru a trimite e-mailul la destinație. MTA local este un server smtp care rulează local, care acceptă e-mailuri pe portul 25.

mail command -> /usr/sbin/sendmail -> local MTA (smtp server) -> recipient MTA (and Inbox)

aceasta înseamnă că un server smtp precum Postfix ar trebui să ruleze pe mașina unde intenționați să utilizați comanda mail., Dacă niciunul nu rulează, primiți mesajul de eroare „trimite-mail: nu se poate deschide mail:25”.

instalați comanda mail

comanda mail este disponibilă din mai multe pachete diferite. Aceste pachete sunt disponibile în depozitele implicite ale majorității distribuțiilor linux populare precum debian, ubuntu, centos și fedora.

Iată lista unora dintre pachetele comune care furnizează comanda mail.

1. gnu mailutils
2. moștenire-mailx
3. bsd-mailx

fiecare aromă are un set diferit de opțiuni și caracteristici acceptate., De exemplu, comanda mail/mailx din pachetul heirloom-mailx este capabilă să utilizeze un server smtp extern pentru a trimite mesaje, în timp ce celelalte două pot utiliza doar un server smtp local.

în acest tutorial vom folosi comanda mail din pachetul mailutils, care este disponibil pe majoritatea sistemelor bazate pe Debian și Ubuntu.

utilizați comanda apt-get pentru a o instala

$ apt-get install mailutils

acum ar trebui să aveți comanda mail gata de lucru.

Exemple de comandă mail

iată câteva exemple de utilizare a comenzii mail pentru a trimite e-mailuri din linia de comandă., Aceste exemple vă vor oferi o idee de bază a diferitelor opțiuni și caracteristici acceptate de comanda mail.Notă: Dacă încercați să trimiteți un e-mail de test către un furnizor de e-mail, cum ar fi gmail sau outlook, atunci va trebui să rulați aceste comenzi pe un server cu o configurație adecvată. Dacă încercați să trimiteți e-mailuri de la mașina sau desktopul dvs. local, atunci majoritatea filtrelor de spam l-ar bloca probabil.

1. Trimiterea unui e-mail simplu

rulați comanda de mai jos, pentru a trimite un e-mail la opțiunea s specifică subiectul e-mailului urmat de adresa de e-mail a destinatarului.,

$ mail -s "Hello World" 

comanda de mai sus nu este terminată la apăsarea Enter. Apoi trebuie să tastați mesajul. Când ați terminat, apăsați „Ctrl-D”la începutul unei linii

$ mail -s "Hello World" Cc:Hi PeterHow are youI am fineGood Bye<Ctrl+D>

shell-ul solicită câmpul ” Cc ” (Carbon copy). Introduceți adresa CC și apăsați enter sau apăsați enter fără să săriți nimic.

Din linia următoare tastați mesajul. Apăsarea enter ar crea o nouă linie în mesaj. După ce ați terminat introducerea mesajului, apăsați . Odată ce ați face acest lucru, comanda e-mail ar trimite mesajul pentru livrare și făcut.

2., Subiectul și Mesajul într-o singură linie

Pentru a specifica mesajul corpului în doar o singură linie de comandă utilizați următoarele stil

$ mail -s "This is the subject" <<< 'This is the message'

Sau

$ echo "This is the body" | mail -s "Subject" -aFrom:Harry\<\> 

3. Luați mesajul dintr-un fișier

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

$ mail -s "Hello World" < /home/user/mailcontent.txt

sau o linie rapidă

$ echo "This is the message body" | mail -s "This is the subject" 

4., Specifica CC și BCC destinatari

Alte parametri utile în e-mail de comandă sunt:

-c email-address (CC - send a carbon copy to email-address)-b email-address (BCC - send a blind carbon copy to email-address)

Iată și un exemplu de cum ai putea folosi aceste opțiuni

$ mail -s "Hello World" -c -b 

5. Trimiterea către mai mulți destinatari

de asemenea, este posibil să specificați mai mulți destinatari prin alăturarea acestora cu virgulă.

$ mail -s "Hello World" ,

6. Specificați de la numele și adresa

opțiunea „-a ” permite să specificați informații suplimentare antet pentru a atașa cu mesajul. Poate fi folosit pentru a furniza numele și adresa” de la”., Iată un exemplu rapid

# echo "acesta este corpul mesajului" | mail-s "Acesta este subiectul" -aFrom:

opțiunea A adaugă practic anteturi suplimentare. Pentru a specifica numele de la, Utilizați următoarea sintaxă.

$ echo "Acesta este trupul" | mail -s "Subiect" -de la:Harry\<\> 

Rețineți că trebuie să scape cel mai mic/mare săgeți, deoarece acestea au o semnificație specială pentru shell prompt. Când emiteți comanda din cadrul unui script, ați omite acest lucru.

7., Trimite e-mail la un sistem local de utilizator

Pentru a trimite e-mail la un sistem local utilizatorul trebuie doar să utilizați numele de utilizator în loc de adresa destinatarului

$ mail -s "Hello World" username

Ai putea adăuga, de asemenea, „@hostname” numele de utilizator, în cazul în care numele de gazdă ar trebui să fie gazdă a sistemului actual.

8. Ieșire Verbose

uneori, atunci când testați serverele de e-mail, doriți să verificați comenzile SMTP utilizate de comanda mail., Utilizați opțiunea” – v”pentru acel

$ mail -v -s "This is the subject" <<< 'This is the message'

dacă e-mailul nu reușește să se livreze din cauza unui server de e-mail configurat necorespunzător, de exemplu, jurnalul de comenzi smtp va arăta ce a mers prost.

trimite mail cu atașamente folosind Mutt

comanda mail ar putea face unele lucruri de bază până acum, dar merge mai departe, îi lipsesc caracteristici importante, cum ar fi trimiterea de atașamente.deci, trebuie să folosim un alt instrument de linie de comandă numit mutt. Mutt este ca o versiune îmbunătățită a comenzii mail cu o sintaxă foarte asemănătoare.utilizatorii Debian / Ubuntu pot instala mutt cu comanda apt.,

$ apt-get install mutt

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

$ yum install mutt

Acum sunteți gata pentru a trimite e-mail cu atașamente cu interfață linie de comandă.

Trimite un simplu e-mail

$ echo "This is mutt from universe" | mutt -s "This is mutts subject" 

Trimite e-mail cu atașament

Folositi „o” opțiune pentru a specifica calea de fișier pentru a atașa

$ mutt -s "Subject" -a /path/to/file -- < home/user/mailcontent.txt

Conform sintaxei de mutt opțiuni, este necesar de a separa fișiere și destinatarii cu un double dash „–„. De asemenea, opțiunea”- a ” ar trebui să fie ultima.,acest exemplu demonstrează modul în care ieșirea unei comenzi poate fi utilizată ca mesaj în e-mail.
aici este un script shell ușor care raportează utilizarea discului prin e-mail.

#!/bin/bashdu -sh | mail -s "disk usage report" 

deschideți un fișier nou și adăugați liniile de mai sus la acel fișier, salvați-l și rulați pe caseta dvs. Veți primi un e-mail care conține „du-sh” de ieșire.

Citește mail-uri

Acest lucru nu este ceva interesant și nu ar face acest lucru într-un scenariu de viață reală. Este doar arătată de dragul ei.

comanda mail poate fi folosit pentru a citi mail-uri., Doar rula fără opțiuni și va lista toate mesajele e-mail în inbox

$ mail

Aici e un exemplu de ieșire

$ mailHeirloom mailx version 12.5 6/20/10. Type ? for help."/var/mail/enlightened": 7 messages 3 unread O 1 Enlightened Sat Dec 6 11:33 21/658 This is the subject O 2 Enlightened Sat Dec 6 11:34 773/25549 This is the subject O 3 Enlightened Sat Dec 6 16:43 20/633 This is the subject O 4 Enlightened Sat Dec 6 16:44 20/633 This is the subject U 5 Mail Delivery Syst Sat Dec 6 16:50 74/2425 Undelivered Mail Returned to Sender U 6 Enlightened Sat Dec 6 16:51 19/632 This is mutts subject U 7 Enlightened Sat Dec 6 16:52 19/647 This is mutts subject?

La sfârșitul q este semn de întrebare, care este un interactiv prompt de așteptare pentru comanda ta. Pur și simplu introduceți numărul de e-mail pe care doriți să citiți și apăsați enter. Ar deschide poșta atunci.după ce ați terminat de citit e-mailul, introduceți ” q ” și apăsați enter pentru a reveni. Introduceți z și apăsați enter pentru a readuce lista de e-mailuri.

comanda mail în mod implicit citește e-mailurile din directorul „/var/mail/”., Deci, fiecare utilizator are un director de e-mail separat. acest mod de stocare și preluarea mail-uri nu este foarte util sau practic în viața reală, în cazul în care adresa de e-mail constau din nume de domeniu, împreună cu numele de utilizator și un singur server ar putea fi gazduieste email-uri pentru mai multe domenii.

comanda Maildir-utils

‘ mu ‘ este un set de instrumente de linie de comandă Pentru Linux/Unix care vă permit să găsiți rapid e-mailurile pe care le căutați.,

Debian/Ubuntu utilizatorii pot folosi comanda apt-get pentru a instala

# apt-get install maildir-utils

Pentru a căuta mailuri de la william cu obiectul raportului utilizați următoarea comandă –

$ mu find from:william subject:report

Pentru a verifica e-mail curent configurații utilizați opțiunea info.

# mu-tool infoVERSION=2.99.97SYSCONFDIR=/etcMAILSPOOLDIR=/var/mail/SCHEME=mboxLOG_FACILITY=mail.....

note și resurse

comanda mail este o comandă foarte de bază pentru a trimite e-mailuri. Ar trebui să fie prezent și configurat corect pe orice server linux, astfel încât e-mailurile să fie generate și livrate corect.,

comanda mail este folosită mai ales atunci când scrieți scripturi bash pentru a trimite e-mailuri de pe un server într-un mod automat. În afară de aceasta, comanda mail nu este foarte utilă ca soluție de e-mail.dacă trebuie să configurați un sistem complet de e-mail pe serverul dvs. cu posibilitatea de a trimite și primi e-mailuri pe propriul dvs. domeniu, mergeți mai departe și instalați aplicații precum postfix, dovecot.verificați acest articol:
instalați Postfix mail server și Dovecot pe Ubuntu sau Debian

Dacă sunteți în căutarea unui program de corespondență mai puternic, Utilizați comenzi precum mailx, swaks etc., Ei au opțiunile necesare pentru a specifica servere smtp externe, de asemenea.

Leave A Comment