logo

Linux mail kommando

Linux post kommando er et kommandolinjeværktøj, der giver os mulighed for at sende e-mails fra kommandolinjen. Det vil være ret nyttigt at sende e-mails fra kommandolinjen, hvis vi ønsker at generere e-mails programmatisk fra shell-scripts eller webapplikationer. Mail-kommandoen kan bruges direkte af terminalen såvel som Shell-scriptet. Der er dog mange andre kommandoer tilgængelige i Linux, som kan bruges til at sende e-mails fra kommandolinjen som f.eks sendmail, mutt, SSMTP, telnet , og mere. I dette afsnit vil vi fokusere på mail-kommandoen.

Installation af mail-kommando i Linux

Mail-kommandoen kan installeres af forskellige pakker såsom:

  • gnu mailutils
  • arvestykke-mailx
  • bsd-mailx

Hver pakke letter med forskellige funktioner og muligheder. For eksempel arvestykke-matrix pakken er i stand til at bruge en ekstern smtp-server til at sende beskeder, mens de to andre servere bruger den lokale smtp-server.

Vi installerer mailutils-pakken, den mest populære måde at sende e-mails fra kommandolinjen. Det understøtter mail-kommandoen til at sende e-mails.

For at installere mailutils-pakken skal du udføre nedenstående kommando:

 sudo apt install mailutils 

Ovenstående kommando vil bede om en systemadgangskode, indtaste adgangskoden og trykke på GÅ IND nøgle. Det vil bekræfte installationen, type 'og' for at bekræfte installationen. Overvej nedenstående snap af output:

Linux mail kommando

Det vil starte en dæmon-proces og bede om postfix-konfigurationen, vælg din ønskede postfix-indstilling.

Linux mail kommando

Der er fire postfix-muligheder tilgængelige for installation. De er som følger:

Linux mail kommando

For at vælge den ønskede indstilling skal du rulle gennem indstillingen ved at bruge PIL tasterne, og vælg den ved at bruge TAB+ ENTER nøgler. Postfix interagerer med serveren for at behandle anmodninger. Efter at have valgt postfix-indstillingen, vil det med succes installere mailutils-pakken på din maskine.

Hvordan fungerer mail-kommandoen?

Det er vigtigt at vide, hvordan kommandoen fungerer. Mail-kommandoen i mailutils-pakken kalder standard sendmail-binæren til at sende posten til en specificeret destination. Den opretter forbindelse til den lokale MTA, som er en lokal kørende SMTP-server, der understøtter mails på port 25.

Det betyder, at et postfix, der indeholder en smtp-server, skal køre på vores maskine for at bruge mail-kommandoen. Postfixet spørger DNS, destinationen hvor posten skal leveres, DNS svarer en liste over mailservere og opretter en SMTP-forbindelse. Hvis det mangler, får vi fejlmeddelelsen som ' send-mail: Kan ikke åbne mail:25 '.

Send mail ved hjælp af mail-kommandoen

At sende mails fra kommandolinjen er en ligetil proces. For at sende en mail fra terminalen skal du udføre kommandoen som følger:

 mail -s 'Subject' 

Muligheden '-s' bruges til at specificere emnet. Efter at have udført kommandoen, vil den bede om Cc-adressen. Indtast Cc-adressen (karbonkopi); du kan lade det være tomt ved at trykke på Enter-tasten. Indtast teksten, og tryk på CTRL+D-tasterne for at sende den. Overvej nedenstående output:

Linux mail kommando

Fra ovenstående output vil mailen blive sendt til en specificeret mailadresse.

Angiv postens brødtekst på en enkelt linje

Vi kan angive emnet og beskeden på en enkelt linje. For at angive meddelelsesteksten på en enkelt linje skal du udføre kommandoen nedenfor:

 mail -s 'subject' <<< 'Message' 

Ovenstående kommando vil sende mailen til den angivne adresse. Overvej nedenstående kommando:

Linux mail kommando

Eller vi kan også angive kommandoen som følger:

java metoder
 echo 'Message body' | mail -s 'Subject' aFrom:Dwivedi [email protected] 

Hent besked fra en fil

Vi kan også hente beskeder fra en fil. Det er nyttigt, hvis vi ønsker at kalde mail-kommandoen fra et shell-script eller andre programmer. For at sende en besked fra en fil skal du udføre kommandoen som følger:

 mail -s &apos;Hello World&apos; [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 &apos;Message body&apos; | mail -s &apos;Subject&apos; </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 &apos;Hello World&apos; -b userto </pre> <p>To add a cc address, execute the command as follows:</p> <pre> mail -s &apos;Hello World&apos; -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 &apos;Hello World&apos; -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 &apos;Hello World&apos; , </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 &apos;FROM&apos; 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 &apos;Message body&apos; | mail -s &apos;Subject&apos; -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 &apos;Message body&apos; | mail -s &apos;Subject&apos; -r &apos;&apos; -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 &apos;q&apos; key to exit from the manual and &apos;h&apos; 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 &apos;q&apos; key.</p> <hr>

Angiv CC og BCC

Vi kan også vedhæfte en bcc- og cc-adresse i en kommando. For at vedhæfte en bcc- og cc-adresse skal du bruge henholdsvis -b og -c mulighederne.

For at tilføje en bcc-adresse skal du udføre kommandoen som følger:

 mail -s &apos;Hello World&apos; -b userto 

For at tilføje en cc-adresse skal du udføre kommandoen som følger:

 mail -s &apos;Hello World&apos; -c userto 

Vi kan også angive både cc- og bcc-adresser i en enkelt kommando. Udfør kommandoen som følger:

 mail -s &apos;Hello World&apos; -b userto -c userto 

Tilføjelse af flere modtagere

Mail-kommandoen giver os mulighed for at tilføje mere end én modtager i en enkelt mail, bortset fra cc og bcc. For at tilføje mere end én e-mailadresse skal du blot sætte de andre mailadresser efter den første e-mailadresse efterfulgt af et komma(,). Overvej nedenstående kommando:

 mail -s &apos;Hello World&apos; , 

Ovenstående kommando vil levere beskeden til begge adresser.

Angiv afsendernavn og adresse

Vi kan tilføje de yderligere headeroplysninger såsom 'FRA' navn og adresse til at vedhæfte e-mailen. For at angive yderligere oplysninger med mail-kommandoen skal du bruge -a-indstillingen med kommandoen. Udfør kommandoen som følger:

 $ echo &apos;Message body&apos; | mail -s &apos;Subject&apos; -aFrom:Sender_name recipient address 

Ovenstående kommando vil levere den specificerede information til modtageren.

Tilføjelse af en vedhæftet fil

Vi kan også vedhæfte en fil med mailen. Indstillingen -a bruges til at vedhæfte en fil sammen med mailen. For at tilføje en vedhæftet fil skal du udføre kommandoen som følger:

 echo &apos;Message body&apos; | mail -s &apos;Subject&apos; -r &apos;&apos; -a /path/to/file 

Ovenstående kommando vil vedhæfte en specificeret fil fra den angivne sti med mail.

Læs mails

Mail-kommandoen kan bruges til at læse alle dine indgående mails. Det er dog ikke fedt at læse mails fra kommandolinjen, men vi kan godt forstå det for rystelsen af ​​viden. For at læse indbakkens mails skal du udføre mail-kommandoen uden nogen valgmulighed som følger:

 mail 

Ovenstående kommando vil vise alle indgående mails.

Manual til mail-kommandoen

For at læse manualen til mail-kommandoen skal du udføre man-kommandoen som følger:

 man mail 

Ovenstående kommando vil vise manualen til mail-kommandoen på din terminal. Overvej nedenstående output:

Linux mail kommando

Tryk på 'q'-tasten for at afslutte manualen og 'h'-tasten for at få hjælp. Hjælpemuligheden viser flere muligheder for at hjælpe dig. Overvej billedet nedenfor:

Linux mail kommando

For at afslutte hjælpen skal du trykke på 'q'-tasten.

json-format eksempel