logo

Команда Linux mail

Linux пошта command — це утиліта командного рядка, яка дозволяє надсилати електронні листи з командного рядка. Буде дуже корисно надсилати електронні листи з командного рядка, якщо ми хочемо генерувати електронні листи програмним шляхом зі сценаріїв оболонки або веб-додатків. Команда mail може використовуватися безпосередньо терміналом, а також сценарієм Shell. Однак у Linux доступно багато інших команд, які можна використовувати для надсилання електронних листів із командного рядка, наприклад sendmail, mutt, SSMTP, telnet , і більше. У цьому розділі ми зосередимося на команді mail.

Установка команди mail в Linux

Команда mail може бути встановлена ​​різними пакетами, наприклад:

  • gnu mailutils
  • heirloom-mailx
  • bsd-mailx

Кожен пакет пропонує різні функції та опції. Наприклад, реліквія-матриця Пакет може використовувати зовнішній smtp-сервер для надсилання повідомлень, тоді як решта два сервера використовують локальний smtp-сервер.

Ми встановимо пакет mailutils, найпопулярніший спосіб надсилання листів із командного рядка. Він підтримує команду mail для надсилання електронних листів.

Щоб інсталювати пакет mailutils, виконайте наведену нижче команду:

 sudo apt install mailutils 

Наведена вище команда запитає системний пароль, введіть пароль і натисніть ENTER ключ. Він перевірить встановлення, тип 'та' щоб підтвердити встановлення. Розглянемо наведений нижче знімок виводу:

Команда Linux mail

Він запустить процес демона та запитає конфігурацію постфікса, виберіть потрібний параметр постфікса.

файл розширення java
Команда Linux mail

Для встановлення доступні чотири варіанти постфікса. Вони такі:

Команда Linux mail

Щоб вибрати потрібний параметр, прокрутіть його за допомогою СТРІЛКА і виберіть його за допомогою TAB+ ENTER ключі. Postfix взаємодіє з сервером для обробки запитів. Після вибору параметра postfix програма успішно встановить пакет mailutils на вашому комп’ютері.

Як працює команда mail?

Важливо знати, як працює команда. Команда mail пакета mailutils викликає стандартний двійковий файл sendmail, щоб надіслати пошту до вказаного адресата. Він підключається до локального MTA, який є локальним сервером SMTP, який підтримує пошту на порту 25.

Це означає, що для використання команди mail на нашій машині має працювати постфікс, який містить smtp-сервер. Постфікс запитує DNS, місце призначення, куди доставити пошту, DNS відповідає списку поштових серверів і створює з’єднання SMTP. Якщо його немає, ми отримаємо повідомлення про помилку на зразок ' send-mail: Не вдається відкрити mail:25 '.

Надіслати лист за допомогою команди mail

Надсилання пошти з командного рядка є простим процесом. Щоб надіслати лист із терміналу, виконайте наступну команду:

 mail -s 'Subject' 

Параметр '-s' використовується для визначення теми. Після виконання команди запитає адресу Cc. Введіть адресу Cc (копія); ви можете залишити його порожнім, натиснувши клавішу Enter. Введіть текст і натисніть клавіші CTRL+D, щоб надіслати його. Розглянемо наведений нижче результат:

Команда Linux mail

З наведених вище виводів лист буде надіслано на вказану адресу електронної пошти.

Вкажіть тіло листа одним рядком

Ми можемо вказати тему та повідомлення в одному рядку. Щоб вказати текст повідомлення в одному рядку, виконайте наведену нижче команду:

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

Наведена вище команда надішле лист на вказану адресу. Розглянемо наведену нижче команду:

Команда Linux mail

Або ми також можемо вказати команду наступним чином:

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

Отримати повідомлення з файлу

Ми також можемо отримати повідомлення з файлу. Це корисно, якщо ми хочемо викликати команду mail зі сценарію оболонки або інших програм. Щоб надіслати повідомлення з файлу, виконайте таку команду:

 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>

Вкажіть CC і BCC

Ми також можемо додати адреси BCC і CC до команди. Щоб приєднати адресу прихованої копії та копії, використовуйте параметри -b і -c відповідно.

Щоб додати приховану копію, виконайте таку команду:

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

Щоб додати адресу cc, виконайте таку команду:

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

Крім того, ми можемо вказати адреси cc і bcc в одній команді. Виконайте команду наступним чином:

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

Додавання кількох одержувачів

Команда mail дозволяє нам додати більше ніж одного одержувача в одному листі, крім копії та прихованої копії. Щоб додати більше ніж одну адресу електронної пошти, просто вставте інші адреси електронної пошти після першої адреси електронної пошти та коми (,). Розглянемо наведену нижче команду:

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

Наведена вище команда доставить повідомлення на обидві адреси.

Вкажіть ім'я та адресу відправника

Ми можемо додати додаткову інформацію заголовка, як-от ім’я та адресу «FROM», щоб прикріпити до електронного листа. Щоб вказати додаткову інформацію за допомогою команди mail, використовуйте параметр -a з командою. Виконайте команду наступним чином:

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

Наведена вище команда доставить зазначену інформацію одержувачу.

Додавання вкладення

Ми також можемо прикріпити файл до листа. Параметр -a використовується для вкладення файлу разом із листом. Щоб додати вкладення, виконайте команду наступним чином:

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

Наведена вище команда вкладе вказаний файл із указаного шляху до пошти.

Читайте листи

Команду mail можна використовувати для читання всіх ваших вхідних листів. Втім, читати листи з командного рядка не круто, але ми можемо це зрозуміти для тріску знань. Щоб прочитати листи вхідних повідомлень, виконайте команду mail без будь-яких опцій, як показано нижче:

 mail 

Наведена вище команда відобразить усі вхідні листи.

Інструкція до команди mail

Щоб прочитати посібник для команди mail, виконайте команду man таким чином:

 man mail 

Наведена вище команда відобразить посібник із команди mail на вашому терміналі. Розглянемо наведений нижче результат:

Команда Linux mail

Натисніть клавішу «q», щоб вийти з посібника, і клавішу «h», щоб отримати допомогу. Параметр довідки містить додаткові параметри, які допоможуть вам. Розгляньте зображення нижче:

Команда Linux mail

Щоб вийти з довідки, натисніть клавішу «q».

мій живий цвіркун