logo

Linux mail kommando

Linux post command är ett kommandoradsverktyg som låter oss skicka e-postmeddelanden från kommandoraden. Det kommer att vara ganska användbart att skicka e-postmeddelanden från kommandoraden om vi vill generera e-postmeddelanden programmatiskt från skalskript eller webbapplikationer. Mail-kommandot kan användas direkt av terminalen såväl som Shell-skriptet. Men många andra kommandon finns tillgängliga i Linux som kan användas för att skicka e-postmeddelanden från kommandoraden som t.ex sendmail, mutt, SSMTP, telnet , och mer. I det här avsnittet kommer vi att fokusera på postkommandot.

java-kodning if else-sats

Installation av e-postkommando i Linux

Mail-kommandot kan installeras av olika paket som:

  • gnu mailutils
  • arvegods-mailx
  • bsd-mailx

Varje paket underlättar med olika funktioner och alternativ. Till exempel arvegods-matris paketet kan använda en extern smtp-server för att skicka meddelanden, medan de andra två servrarna använder den lokala smtp-servern.

Vi kommer att installera paketet mailutils, det mest populära sättet att skicka e-post från kommandoraden. Den stöder e-postkommandot för att skicka e-postmeddelanden.

För att installera paketet mailutils, kör följande kommando:

 sudo apt install mailutils 

Ovanstående kommando kommer att fråga efter ett systemlösenord, skriv lösenordet och tryck STIGA PÅ nyckel. Det kommer att verifiera installationen, typ 'och' för att bekräfta installationen. Tänk på bilden nedan för utdata:

Linux mail kommando

Det kommer att starta en demonprocess och fråga efter postfix-konfigurationen, välj önskat postfix-alternativ.

Linux mail kommando

Det finns fyra postfix-alternativ tillgängliga för installation. De är följande:

Linux mail kommando

För att välja önskat alternativ, rulla alternativet med hjälp av PIL och välj den med hjälp av TABB+ ENTER nycklar. Postfix interagerar med servern för att behandla förfrågningar. Efter att ha valt postfix-alternativet kommer det att installera mailutils-paketet på din dator.

Hur fungerar e-postkommandot?

Det är viktigt att veta hur kommandot fungerar. Mailkommandot för mailutils-paketet anropar standard binär sendmail för att skicka posten till en specificerad destination. Den ansluter till den lokala MTA, som är en lokal körande SMTP-server som stöder e-post på port 25.

Det betyder att en postfix som innehåller en smtp-server bör köras på vår maskin för att använda e-postkommandot. Postfixet frågar DNS, destinationen var posten ska levereras, DNS svarar en lista över e-postservrar och skapar en SMTP-anslutning. Om det saknas får vi ett felmeddelande som ' skicka-mail: Kan inte öppna mail:25 '.

Skicka e-post med postkommandot

Att skicka e-post från kommandoraden är en enkel process. För att skicka ett e-postmeddelande från terminalen, kör kommandot enligt följande:

 mail -s 'Subject' 

Alternativet '-s' används för att specificera ämnet. Efter att ha utfört kommandot kommer det att fråga efter Cc-adressen. Skriv Cc-adressen (karbonkopia); du kan lämna det tomt genom att trycka på Enter. Skriv texten och tryck på CTRL+D för att skicka den. Tänk på följande utdata:

Linux mail kommando

Från ovanstående utdata kommer posten att skickas till en angiven e-postadress.

Ange e-posttexten på en enda rad

Vi kan specificera ämne och meddelande på en enda rad. För att ange meddelandetexten på en enda rad, kör följande kommando:

mylive cricket
 mail -s 'subject' <<< 'Message' 

Ovanstående kommando skickar e-postmeddelandet till den angivna adressen. Tänk på kommandot nedan:

Linux mail kommando

Eller så kan vi också specificera kommandot enligt följande:

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

Hämta meddelande från en fil

Vi kan också hämta meddelanden från en fil. Det är användbart om vi vill anropa postkommandot från ett skalskript eller andra program. För att skicka ett meddelande från en fil, kör kommandot enligt följande:

 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>

Ange CC och BCC

Vi kan också bifoga en hemlig kopia och en kopia-adress i ett kommando. För att bifoga en hemlig kopia och en kopia-adress, använd alternativen -b respektive -c.

För att lägga till en hemlig kopia-adress, kör kommandot enligt följande:

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

För att lägga till en cc-adress, kör kommandot enligt följande:

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

Vi kan också ange både cc- och bcc-adresser i ett enda kommando. Utför kommandot enligt följande:

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

Lägger till flera mottagare

Mail-kommandot låter oss lägga till mer än en mottagare i ett enda e-postmeddelande förutom cc och hemlig kopia. För att lägga till mer än en e-postadress, lägg bara de andra e-postadresserna efter den första e-postadressen följt av ett kommatecken(,). Tänk på kommandot nedan:

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

Ovanstående kommando levererar meddelandet till båda adresserna.

Ange avsändarens namn och adress

Vi kan lägga till ytterligare rubrikinformation som 'FRÅN'-namn och adress för att bifoga e-postmeddelandet. För att ange ytterligare information med postkommandot, använd alternativet -a med kommandot. Utför kommandot enligt följande:

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

Ovanstående kommando kommer att leverera den specificerade informationen till mottagaren.

Lägger till en bilaga

Vi kan även bifoga en fil med posten. Alternativet -a används för att bifoga en fil tillsammans med posten. För att lägga till en bilaga, kör kommandot enligt följande:

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

Ovanstående kommando kommer att bifoga en specificerad fil från den angivna sökvägen med e-post.

Läs mail

Mail-kommandot kan användas för att läsa alla dina inkommande mail. Det är dock inte coolt att läsa mail från kommandoraden, men vi kan förstå det för att skaka av kunskap. För att läsa inkorgens e-postmeddelanden, kör e-postkommandot utan något alternativ enligt följande:

 mail 

Ovanstående kommando kommer att visa alla inkommande e-postmeddelanden.

Manual för postkommandot

För att läsa manualen för postkommandot, kör man kommandot enligt följande:

 man mail 

Ovanstående kommando visar manualen för e-postkommandot på din terminal. Tänk på följande utdata:

Linux mail kommando

Tryck på 'q'-tangenten för att lämna manualen och 'h'-tangenten för hjälp. Hjälpalternativet listar fler alternativ för att hjälpa dig. Tänk på bilden nedan:

c#-omkopplare
Linux mail kommando

För att lämna hjälpen, tryck på 'q'-tangenten.