Linux post kommando er et kommandolinjeverktøy som lar oss sende e-post fra kommandolinjen. Det vil være ganske nyttig å sende e-poster fra kommandolinjen hvis vi ønsker å generere e-poster programmatisk fra shell-skript eller nettapplikasjoner. Mail-kommandoen kan brukes direkte av terminalen så vel som Shell-skriptet. Imidlertid er mange andre kommandoer tilgjengelige i Linux som kan brukes til å sende e-postene fra kommandolinjen som f.eks sendmail, mutt, SSMTP, telnet , og mer. I denne delen vil vi fokusere på e-postkommandoen.
Installasjon av e-postkommando i Linux
Mail-kommandoen kan installeres av forskjellige pakker som:
- gnu mailutils
- arvestykke-postx
- bsd-mailx
Hver pakke forenkler med forskjellige funksjoner og alternativer. For eksempel arvestykke-matrise pakken er i stand til å bruke en ekstern smtp-server for å sende meldinger, mens de to andre serverne bruker den lokale smtp-serveren.
Vi vil installere mailutils-pakken, den mest populære måten å sende e-post fra kommandolinjen. Den støtter e-postkommandoen for å sende e-postene.
For å installere mailutils-pakken, kjør kommandoen nedenfor:
sudo apt install mailutils
Kommandoen ovenfor vil be om et systempassord, skriv inn passordet og trykk TAST INN nøkkel. Det vil bekrefte installasjonen, type 'og' for å bekrefte installasjonen. Vurder utdatabildet nedenfor:
Den vil starte en demonprosess og be om postfix-konfigurasjonen, velg ønsket postfix-alternativ.
Det er fire postfix-alternativer tilgjengelig for installasjon. De er som følger:
For å velge ønsket alternativ, bla gjennom alternativet ved å bruke PIL tastene, og velg den ved å bruke TAB+ ENTER nøkler. Postfix samhandler med serveren for å behandle forespørsler. Etter å ha valgt postfix-alternativet, vil det installere mailutils-pakken på maskinen din.
Hvordan fungerer e-postkommandoen?
Det er viktig å vite hvordan kommandoen fungerer. Mail-kommandoen til mailutils-pakken påkaller standard sendmail-binær for å sende posten til en spesifisert destinasjon. Den kobles til den lokale MTA, som er en lokal løpende SMTP-server som støtter e-post på port 25.
Det betyr at en postfix som inneholder en smtp-server skal kjøres på maskinen vår for å bruke e-postkommandoen. Postfixet spør DNS, destinasjonen hvor e-posten skal leveres, DNS svarer en liste over e-postservere og oppretter en SMTP-tilkobling. Hvis den mangler, får vi feilmeldingen som ' send-mail: Kan ikke åpne mail:25 '.
Send e-post ved å bruke e-postkommandoen
Å sende e-post fra kommandolinjen er en rett frem prosess. For å sende en e-post fra terminalen, utfør kommandoen som følger:
mail -s 'Subject'
Alternativet '-s' brukes til å spesifisere emnet. Etter å ha utført kommandoen, vil den be om Cc-adressen. Skriv inn Cc-adressen (karbonkopi); du kan la det stå tomt ved å trykke på Enter-tasten. Skriv inn teksten, og trykk CTRL+D-tastene for å sende den. Tenk på utgangen nedenfor:
Fra utgangen ovenfor vil e-posten bli sendt til en spesifisert e-postadresse.
Spesifiser e-postteksten på en enkelt linje
Vi kan spesifisere emnet og meldingen på en enkelt linje. For å spesifisere meldingsteksten på en enkelt linje, kjør kommandoen nedenfor:
mail -s 'subject' <<< 'Message'
Kommandoen ovenfor vil sende e-posten til den angitte adressen. Tenk på kommandoen nedenfor:
Eller vi kan også spesifisere kommandoen som følger:
okse vs okse
echo 'Message body' | mail -s 'Subject' aFrom:Dwivedi [email protected]
Hent melding fra en fil
Vi kan også hente meldinger fra en fil. Det er nyttig hvis vi vil kalle e-postkommandoen fra et shell-skript eller andre programmer. For å sende en melding fra en fil, kjør kommandoen som følger:
mail -s 'Hello World' [email protected] <p>The above command will send the message from the file mailcontent.txt. For quick, we can also use the below command:</p> <pre> $ echo 'Message body' | mail -s 'Subject' </pre> <h3>Specify CC and BCC</h3> <p>We can also attach a bcc and cc address within a command. To attach a bcc and cc address, use the -b and -c options, respectively.</p> <p>To add a bcc address, execute the command as follows:</p> <pre> mail -s 'Hello World' -b userto </pre> <p>To add a cc address, execute the command as follows:</p> <pre> mail -s 'Hello World' -c userto </pre> <p>Also, we can specify both cc and bcc addresses in a single command. Execute the command as follows:</p> <pre> mail -s 'Hello World' -b userto -c userto </pre> <h3>Adding multiple recipients</h3> <p>The mail command allows us to add more than one recipient in a single mail other than cc and bcc. To add more than one mail address, just put the other mail addresses after the first mail address followed by a comma(,). Consider the below command:</p> <pre> mail -s 'Hello World' , </pre> <p>The above command will deliver the message to both addresses.</p> <h3>Specify the sender name and address</h3> <p>We can add the additional header information such as 'FROM' name and address to attach with the email. To specify the additional information with the mail command, use the -a option with the command. Execute the command as follows:</p> <pre> $ echo 'Message body' | mail -s 'Subject' -aFrom:Sender_name recipient address </pre> <p>The above command will deliver the specified information to the receiver.</p> <h3>Adding an attachment</h3> <p>We can also attach a file with the mail. The -a option is used to attach a file along with the mail. To add an attachment, execute the command as follows:</p> <pre> echo 'Message body' | mail -s 'Subject' -r '' -a /path/to/file </pre> <p>The above command will attach a specified file from the specified path with mail.</p> <h2>Read mails</h2> <p>The mail command can be used to read all your incoming mails. However, it is not cool to read mails from the command line, but we can understand it for the shake of knowledge. To read the inbox mails, execute the mail command without any option as follows:</p> <pre> mail </pre> <p>The above command will display all incoming mails.</p> <h2>Manual for the mail command</h2> <p>To read the manual for the mail command, execute the man command as follows:</p> <pre> man mail </pre> <p>The above command will display the manual of the mail command on your terminal. Consider the below output:</p> <img src="//techcodeview.com/img/linux-tutorial/07/linux-mail-command-6.webp" alt="Linux mail Command"> <p>Press the 'q' key to exit from the manual and 'h' key for help. The help option lists more options to assist you. Consider the below image:</p> <img src="//techcodeview.com/img/linux-tutorial/07/linux-mail-command-7.webp" alt="Linux mail Command"> <p>To exit from the help, press the 'q' key.</p> <hr>
Spesifiser CC og BCC
Vi kan også legge ved en bcc- og cc-adresse i en kommando. For å legge ved en bcc- og cc-adresse, bruk henholdsvis -b og -c alternativene.
For å legge til en bcc-adresse, utfør kommandoen som følger:
mail -s 'Hello World' -b userto
For å legge til en cc-adresse, utfør kommandoen som følger:
mail -s 'Hello World' -c userto
Vi kan også spesifisere både cc- og bcc-adresser i en enkelt kommando. Utfør kommandoen som følger:
mail -s 'Hello World' -b userto -c userto
Legger til flere mottakere
Mail-kommandoen lar oss legge til mer enn én mottaker i en enkelt e-post, annet enn cc og bcc. For å legge til mer enn én e-postadresse, sett bare de andre e-postadressene etter den første e-postadressen etterfulgt av et komma(,). Tenk på kommandoen nedenfor:
mail -s 'Hello World' ,
Kommandoen ovenfor vil levere meldingen til begge adressene.
Angi avsendernavn og adresse
Vi kan legge til tilleggshodeinformasjonen som 'FRA' navn og adresse for å legge ved e-posten. For å spesifisere tilleggsinformasjonen med e-postkommandoen, bruk -a-alternativet med kommandoen. Utfør kommandoen som følger:
$ echo 'Message body' | mail -s 'Subject' -aFrom:Sender_name recipient address
Kommandoen ovenfor vil levere den spesifiserte informasjonen til mottakeren.
Legger til et vedlegg
Vi kan også legge ved en fil med posten. Alternativet -a brukes til å legge ved en fil sammen med e-posten. For å legge til et vedlegg, kjør kommandoen som følger:
echo 'Message body' | mail -s 'Subject' -r '' -a /path/to/file
Kommandoen ovenfor vil legge ved en spesifisert fil fra den angitte banen med mail.
Les e-poster
Mail-kommandoen kan brukes til å lese alle innkommende e-poster. Det er imidlertid ikke kult å lese e-poster fra kommandolinjen, men vi kan forstå det for å riste av kunnskap. For å lese innboksens e-poster, utfør e-postkommandoen uten noe alternativ som følger:
Kommandoen ovenfor vil vise alle innkommende e-poster.
Manual for postkommandoen
For å lese manualen for e-postkommandoen, utfør man-kommandoen som følger:
man mail
Kommandoen ovenfor vil vise manualen til e-postkommandoen på terminalen. Tenk på utgangen nedenfor:
Trykk på 'q'-tasten for å gå ut av manualen og 'h'-tasten for å få hjelp. Hjelpealternativet viser flere alternativer for å hjelpe deg. Tenk på bildet nedenfor:
For å gå ut av hjelpen, trykk på 'q'-tasten.
sammensatt primærnøkkel