Linux поща command е помощна програма от командния ред, която ни позволява да изпращаме имейли от командния ред. Ще бъде доста полезно да изпращаме имейли от командния ред, ако искаме да генерираме имейли програмно от шел скриптове или уеб приложения. Командата mail може да се използва директно от терминала, както и от скрипта на Shell. В Linux обаче са налични много други команди, които могат да се използват за изпращане на имейли от командния ред, като напр sendmail, mutt, SSMTP, telnet , и още. В този раздел ще се съсредоточим върху командата mail.
Инсталиране на командата mail в Linux
Командата mail може да бъде инсталирана от различни пакети като:
- gnu mailutils
- наследство-mailx
- bsd-mailx
Всеки пакет улеснява с различни функции и опции. Например, на наследство-матрица пакетът може да използва външен smtp сървър за изпращане на съобщения, докато останалите два сървъра използват локалния smtp сървър.
Ще инсталираме пакета mailutils, най-популярният начин за изпращане на имейли от командния ред. Той поддържа командата mail за изпращане на имейли.
За да инсталирате пакета mailutils, изпълнете командата по-долу:
sudo apt install mailutils
Горната команда ще поиска системна парола, въведете паролата и натиснете ENTER ключ. Той ще провери инсталацията, тип 'и' за да потвърдите инсталацията. Разгледайте следната снимка на изхода:
Той ще стартира процес на демон и ще поиска конфигурацията на postfix, изберете желаната опция за postfix.
Налични са четири опции за постфикс за инсталиране. Те са както следва:
За да изберете желаната опция, превъртете опцията с помощта на СТРЕЛКА и го изберете с помощта на TAB+ ENTER ключове. Postfix взаимодейства със сървъра, за да обработва заявки. След като изберете опцията postfix, той успешно ще инсталира пакета mailutils на вашата машина.
Как работи командата mail?
Важно е да знаете как работи командата. Командата mail на пакета mailutils извиква стандартния двоичен файл sendmail, за да изпрати пощата до определена дестинация. Той се свързва с локалния MTA, който е локален работещ SMTP сървър, който поддържа имейли на порт 25.
Това означава, че postfix, който съдържа smtp сървър, трябва да работи на нашата машина за използване на командата mail. Постфиксът пита DNS, дестинацията, където да достави пощата, DNS отговаря на списък от пощенски сървъри и създава SMTP връзка. Ако липсва, ще получим съобщение за грешка като „ изпрати имейл: Не мога да отворя имейл:25 '.
Изпратете имейл с помощта на командата mail
Изпращането на имейли от командния ред е лесен процес. За да изпратите имейл от терминала, изпълнете командата, както следва:
mail -s 'Subject'
Опцията '-s' се използва за указване на темата. След като изпълни командата, тя ще поиска Cc адреса. Въведете адреса Cc (копие); можете да го оставите празно, като натиснете клавиша Enter. Въведете текста и натиснете клавишите CTRL+D, за да го изпратите. Помислете за резултата по-долу:
От горния резултат пощата ще бъде изпратена до определен имейл адрес.
1 до 100 римски номер
Посочете тялото на писмото в един ред
Можем да посочим темата и съобщението в един ред. За да посочите тялото на съобщението в един ред, изпълнете командата по-долу:
mail -s 'subject' <<< 'Message'
Горната команда ще изпрати пощата до посочения адрес. Помислете за командата по-долу:
Или можем също да посочим командата, както следва:
echo 'Message body' | mail -s 'Subject' aFrom:Dwivedi [email protected]
Извличане на съобщение от файл
Можем също да извличаме съобщения от файл. Полезно е, ако искаме да извикаме командата mail от шел скрипт или други програми. За да изпратите съобщение от файл, изпълнете командата, както следва:
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>
Посочете CC и BCC
Можем също да прикачим bcc и cc адрес в рамките на команда. За да прикачите bcc и cc адрес, използвайте съответно опциите -b и -c.
За да добавите скрит адрес, изпълнете командата, както следва:
mail -s 'Hello World' -b userto
За да добавите cc адрес, изпълнете командата, както следва:
mail -s 'Hello World' -c userto
Освен това можем да посочим както cc, така и bcc адреси в една команда. Изпълнете командата, както следва:
mail -s 'Hello World' -b userto -c userto
Добавяне на множество получатели
Командата mail ни позволява да добавим повече от един получател в едно писмо, различно от cc и bcc. За да добавите повече от един имейл адрес, просто поставете другите имейл адреси след първия имейл адрес, последван от запетая (,). Помислете за командата по-долу:
mail -s 'Hello World' ,
Горната команда ще достави съобщението и на двата адреса.
Посочете името и адреса на изпращача
Можем да добавим допълнителна информация в заглавката, като име и адрес „ОТ“, които да прикачим към имейла. За да укажете допълнителна информация с командата mail, използвайте опцията -a с командата. Изпълнете командата, както следва:
$ echo 'Message body' | mail -s 'Subject' -aFrom:Sender_name recipient address
Горната команда ще достави определената информация на приемника.
Добавяне на прикачен файл
Можем също да прикачим файл към пощата. Опцията -a се използва за прикачване на файл заедно с пощата. За да добавите прикачен файл, изпълнете командата, както следва:
echo 'Message body' | mail -s 'Subject' -r '' -a /path/to/file
Горната команда ще прикачи определен файл от посочения път към пощата.
Четете имейли
Командата mail може да се използва за четене на всички ваши входящи имейли. Въпреки това не е готино да четете имейли от командния ред, но можем да го разберем за разклащане на знания. За да прочетете входящата поща, изпълнете командата mail без опция, както следва:
Горната команда ще покаже всички входящи имейли.
Ръководство за командата mail
За да прочетете ръководството за командата mail, изпълнете командата man, както следва:
man mail
Горната команда ще покаже ръководството на командата mail на вашия терминал. Помислете за резултата по-долу:
Натиснете клавиша 'q', за да излезете от ръководството и клавиша 'h' за помощ. Опцията за помощ изброява още опции, които да ви помогнат. Разгледайте изображението по-долу:
За да излезете от помощта, натиснете клавиша 'q'.
arraylist сортиран java