9 e-mail/mailx exemple de comandă pentru a trimite e-mailuri de la linia de comandă în Linux

Trimite mail-uri de linie de comandă

comanda mail este un element esențial care ar trebui să fie disponibile pe orice server linux, astfel încât diverse servicii și alte aplicații web poate genera și transmite e-mailuri.

într-o postare anterioară pe comanda mail am văzut cum comanda mail poate fi folosită pentru a trimite e-mailuri de pe linia de comandă de pe serverul linux.,

în acest tutorial vom folosi o versiune îmbunătățită a comenzii mail. Sa numit mailx (sau doar e-mail atunci când este instalat), și se poate face mult mai multe lucruri decât ceea ce comanda mail mai vechi din pachetul GNU mailutils poate face.

cum funcționează

comanda mail / mailx are nevoie de un server smtp local (MTA) care rulează pentru a livra e-mailurile. Traseul urmat de e-mail este oarecum ca asta –

mail -> sendmail -> local MTA -> recipient MTA 

destinatarul MTA ar fi gmail smtp server dacă destinatarul este cineva de la gmail.com de exemplu., Pentru MTA local, trebuie să instalați un server smtp precum Postfix. O instalare de bază a Postfix cu configurație minimă ar funcționa în majoritatea cazurilor.

instalați comanda mailx

pe sistemele bazate pe Ubuntu/Debian comanda mailx este disponibilă din 2 pachete diferite-

1. moștenire-mailx
2. bsd-mailx

vom folosi pachetul heirloom-mailx, deoarece are mai multe caracteristici și opțiuni.
pe sistemele bazate pe CentOS / Fedora, exista un singur pachet numit „mailx”, care este pachetul heirloom.,pentru a afla ce pachet mailx este instalat pe sistemul dvs., verificați ieșirea „man mailx” și derulați în jos până la sfârșit și ar trebui să vedeți câteva informații utile.

# ubuntu/debian$ sudo apt-get install heirloom-mailx# fedora/centos$ sudo yum install mailx

folosind comanda mailx

odată instalată, comanda mailx poate fi referită direct cu numele mail, deci trebuie doar să tastați în linia de comandă.

1. Simplu mail

rulați următoarea comandă, și apoi mailx ar aștepta să introduceți mesajul de e-mail. Puteți apăsa enter pentru linii noi. Când ați terminat tastarea mesajului, apăsați Ctrl + D și mailx va afișa EOT.,

după ce mailx livrează automat e-mailul la destinație.

$ mail -s "This is the subject" Hi someoneHow are youI am fineByeEOT

2. Ia mesaj dintr-un fișier

corpul mesaj de e-mail pot fi luate dintr-un fișier, de asemenea.

$ mail -s "This is Subject" < /path/to/file

mesajul poate fi, de asemenea, prin conducte folosind comanda echo –

$ echo "This is message body" | mail -s "This is Subject" 

3. Mai mulți destinatari

Pentru a trimite e-mail la mai mulți destinatari, specifica toate e-mailurile, separate prin virgulă,

$ echo "Acesta este corpul mesajului" | mail -s "- Acesta este Subiectul" ,

4., CC și BCC

opțiunile”- c” și” – b ” pot fi utilizate pentru a adăuga adrese CC și BCC.

 $ echo "acesta este corpul mesajului" | mail-s "Acesta este subiectul" -c 

5. Specificați din nume și adresă

pentru a specifica un nume și o adresă „de la”, Utilizați opțiunea”- r”. Numele trebuie urmat de adresa înfășurată în””.

$ echo "Acesta este corpul mesajului" | mail -s "- Acesta este Subiectul" -r "Harry<>" 

6., Specificați adresa” răspuns la „

răspunsul la adresă este setat cu variabila de opțiune internă ” replyto „folosind opțiunea”- S”.

7. Atașamente

atașamentele pot fi adăugate cu opțiunea” – a”.

$ echo "Acesta este corpul mesajului" | mail -s "- Acesta este Subiectul" -r "Harry<>" -o /path/to/file 

8. Utilizați serverul SMTP extern

aceasta este o caracteristică exclusivă, pe care o obțineți numai cu mailx moștenire și nu BSD mailx, sau comanda mail de la gnu mailutils sau comanda mutt.,

comanda mailx poate utiliza un server smtp extern pentru a utiliza pentru a transmite mesajul înainte. Sintaxa este un pic mai lungă, dar are sens.

Iată o defalcare

puteți utiliza serverele SMTP gmail și puteți trimite e-mailuri prin contul dvs. Ce tare!
în special pentru gmail, va trebui să activați setările aplicațiilor mai puțin sigure înainte de a putea trimite e-mailuri de genul acesta.

9. Verbose-watch smtp communication

când utilizați servere smtp externe, puteți alege să urmăriți întreaga comunicare smtp care se face în fundal., Acest lucru este util în special la testarea sau depanarea serverelor smtp.

depanare

În cazul în care e-mailurile nu sunt livrate corect, trebuie să verificați câteva lucruri. Primul lucru de verificat este că un server smtp (MTA) rulează local. Comanda netstat poate spune că

dacă un server stmp precum Postfix rulează și încă mailurile nu merg, atunci încercați să reconfigurați Postfix, de exemplu. Pe sistemele Ubuntu/Debian, acest lucru se poate face cu comanda dpkg-reconfigure

$ sudo dpkg-reconfigure postfix

apoi reîncercați, comanda mail și ar trebui să funcționeze., Dacă tot nu, încercați să contactați furnizorul de server.

Nu-mailuri de la sistemele locale

Dacă încercați să trimiteți mail de pe computerul local la o adresa de gmail, e-mail ar fi cel mai probabil respinsă, așa că nu încerca să faci asta. acest lucru se datorează faptului că computerele obișnuite conectate la adresa de internet au o adresă ip care nu este asociată cu niciun domeniu valid ca atare, iar gmail verifică strict astfel de acreditări înainte de a aproba orice e-mail prin care să treacă.,în afară de mailx, există și alte instrumente, cum ar fi Swaks și smtp-cli, care pot fi utilizate pentru a trimite e-mailuri de la linia de comandă și de a sprijini diverse caracteristici, cum ar fi specificarea servere smtp și adăugarea de atașamente și așa mai departe.cu toate acestea, comanda mailx este disponibilă în depozitele implicite ale celor mai comune distribuții, astfel încât poate fi instalată cu ușurință. În plus, menține o sintaxă foarte asemănătoare cu cea a comenzii mail, ceea ce o face o scădere a înlocuirii comenzii mail mai vechi.,

comanda mailx este chiar capabilă să citească e-mailuri de la serverele IMAP la distanță, dar asta este ceva ce am păstrat din această postare și am vorbi mai târziu. Pentru a afla mai multe, verificați pagina man pentru comanda mailx cu „man mailx”.

Share

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *