Команды mail/mailx в примера на Unix/Linux

Команды mail/mailx в примера на Unix/Linux

Команды /Mail/mailx используемые в операционных систем UNIX/Linux для отправки электронной почты (так же, для полученные  и чтения сообщений электронной почты) с возможностью удалять. В своей статье «Команды mail/mailx в примера на Unix/Linux» я расскажу как установить и использовать утилиту (команду) mail на ОС Unix или Linux.

Синтаксис команды mail:

mail [options] to-address [-- sendmail-options]

Опции.

-v : Подробный режим. Детали отправки отображаются на экране.
-s : Опция задает тему для письма.
-c : Отправить СС (копии для других пользователей).
-b :Отправить BС (копии для других пользователей).
-f : Прочитать содержимое почтового ящика.
-e : Проверка на наличие почты в почтовом ящике.
-F : Записывает сообщение в файл с именем после получения.
-r :  Опция для указания адреса отправителя в настройках отправки почты.
-u : Определяет сокращенния, аналог опции «mail -f /var/spool/mail/UserID».

Установка утилиты mail в Unix/Linux

Для того чтобы установить утилиту mail на CentOS/Fedora/RedHat, используйте:

$ yum install mailx

Для того чтобы установить утилиту mail на Debian/Mint, используйте:

$ apt-get install mailutils

Теперь вы должны иметь команду mail, и можно приступать к работе.

Команды mail/mailx в примера на Unix/Linux

В своей статье «Команды mail/mailx в примера на Unix/Linux» я расскажу как пользоваться утилитой mail в ОС Unix/Linux. Приведу наглядные примеры использования данной утилиты.

Чтобы запустить программу «mail» и вывести список сообщений в почтовом ящике, выполните:

# mail

Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/root": 1 message 1 new
>N 1 logwatch@host.deltas Wed Dec 9 07:14 44/1670 "Logwatch for host.deltasquadron.com (Linux)"
&

Команда mail показывает количество сообщений в ящике системы. Затем почтовая система отображает подсказку почтового ящика (?), ожидая ввода.

Когда вы видите эту строку, то нужно ввести субкоманду, чтобы увидеть список подкоманд, нужно нажать (?):

Команды Mail

t <Список сообщений> тип.
n Перейти на другое сообщение.
e <Список сообщений> Отредактировать почту (сообщение).
f <Список сообщений> Вывести линии "head" сообщений.
d <Список сообщений> Удалить почту (сообщение). Нужно указать номер почтового сообщения.
s <Список сообщений> добавлять сообщения в файл.
u <Список сообщений> Отменить удаление сообщений.
R <Список сообщений> Ответить на сообщение.
r <Список сообщений> отвечать на все сообщения отправителей и получателей.
pre <Список сообщений> Создать сообщения и вернуться в /usr/spool/mail.
m <Список пользователей> Почта для конкретных пользователей.
q Выход, сохранить нерешенные сообщения в Mbox и выйти.
x Выход, не удалить системный почтовый ящик (system mailbox).
h Напечатать активные заголовки сообщений.
! shell escape
cd [папка] chdir to directory or home if none given

A <Список сообщений> Состоит из целых чисел, диапазонов или имен пользователей и разделены пробелами. Если он опущен mail использует последнее набранное сообщение.

A <Список пользователей> состоит из имен пользователей или псевдонимов, разделенных пробелами.
Псевдонимы определены в .mailrc в вашем домашнем каталоге.
&

Данная команда (?)  покажет все субкоманды для Mail.

Отправка электронной почты пользователю:

# echo "some text here to send it...." | mail -s "My_subject_is_here" send_to_some@email.com

В команде «echo»  задается некоторый текст для отправки по электронной почте.

Опция «-s» используется для указания темы для письма. Собственно, команда mail отправит емейл пользователю send_to_some@email.com. Можно обойтись и без команды echo, тогда команда будет выглядеть следующим образом:

# mail -s "My_subject_is_here" send_to_some@email.com

В этом примере вы тогда, будите вводить в сообщении и чтобы остановить просто введите точку следующим образом (.):

Hello here,
just simple test here
.
Cc:

Если вы хотите отправить письмо нескольким пользователям, то просто добавить емейл через пробел. Это будет выглядеть следующим образом:

# echo echo "some text here to send it...."| mail -s "My_subject_is_here" send_to_some@email.com send_to_some2@email.com send_to_some3@email.com send_to_some4@email.com

Отправка содержимого текстового файла

Вы можете отправить содержимое файла с помощью cat/echo или с помощью перенаправления оператор ввода «<«,

Например, чтобы отправить содержимое some_txt_file.txt через почту, нужно выполнить:

# cat somefile.txt | mail -s "My_subject_is_here" "user1@example.com,user2@example.com"
# mail -s "Mail subject" "user1@example.com,user2@example.com" < /home/captain/some_txt_file.txt

Использование Mail для CC & Bcc.

Для использования CC и ИСС, нужно использовать опции «-c» и «-b». Пример:

# echo "some text here to send it...." | mailx -s "My_subject_is_here" -b bcc_user1@example.com -c cc_user1@example.com -r sender_user1@example.com recipient_user1@example.com

Для отправки содержимого файла:

# mail -s "My_subject_is_here" -c "cc_user1@example.com" -b "bcc_user1@example.com" "user@example.com" < /home/captain/some_txt_file.txt

Прикрепление файлов:

Команда mail не обеспечивает крепления файлов. Но существует обходной путь для присоединения файлов с помощью команды UUencode. Например, можно сделать так:

# uuencode some_attachment_file some_attachment_file | mail -s "My_subject_is_here" "user@example.com" < /home/captain/some_txt_file.txt

Небольшая статья о утилите UUencode:

Команда uuencode в примерах

Работа с почтовым ящиком на сервере с утилитой mail.

Чтобы запустить утилиту mail и показать список сообщений в вашем почтовом ящике выполните:

# mail

Команда mail выведет список сообщений в ящике системы. Для вывода дополнительных команд нужно ввести знак (?). Я рассказывал какие бывают подкоманды для утилиты mail выше, вы можете использовать их.

Другой способ просмотра электронной почты — это использования опции «-f»:

# mail -f /var/spool/mail/captain
Heirloom Mail version 12.4 7/29/08. Type ? for help.
"/var/spool/mail/captain": 0 messages
&

captain — это пользователь на сервере. У меня нет новых сообщений.

Из приведенного выше вывода, вы можете видеть, что он отображает адрес, дату и тему писем в почтовом ящике. Он также отображает амперсанд (&) строку в конце. Чтобы вернуться в основное меню, нажмите «Ctrl + Z» или «CTRL + D» в зависимости от вашей операционной системы и нажмите клавишу «Enter». Амперсанд (&) позволяет читать, отвечать и удалять сообщения электронной почты.

Чтение почты.

Чтобы прочитать электронную почту, нужно знать N-ый номер почты, просто введите номер почтового письма после амперсанда (&) и нажмите клавишу ВВОДА (Enter). Например:

$ mail -f /var/spool/mail/captain

Heirloom Mail version 12.4 7/29/08. Type ? for help.
"/var/spool/mail/captain": 2 messages 2 new
>N 1 root@linux-notes.org Tue Jan 5 12:01 15/2015 "test Mail subject_1"
N 2 root@linux-notes.org Tue Jan 6 12:12 16/2015 "Test Mail subject_2"
&2
Message 2:
From root@linux-notes.org Jan 6 12:12 16/2015
---------------
Subject: Test Mail subject_2
------------

This displays the second email details.

Навигация по входящей почте.

Чтобы перейти к следующей электронной почте, введите символ «+». Чтобы вернуться к предыдущему электронной почте, введите символ «-» в после амперсанда:

&-
Message 1:
From root@linux-notes.org  Tue Jan 5 12:01 15/2015
---------------
Subject: test Mail subject_1
------------

 Ответить на электронную почту.

После того, как вы прочли письмо, вы можете ответить на него, набрав «reply» после амперсанда и нажав Enter:

&reply
To: root@linux-notes.org
captain@linux-notes.org
Subject: Re: test Mail subject_1

Удаление почтовых писем с ящика.

Вы можете удалить электронную почту, используя опцию «d» после амперсанда и нажав «Enter».

Удалить прочитанное письмо:

&d

Удалить прочитанное письма 2 и 4:

&d 2 4

Удалить письма с 6 по 66:

&d 6-66

Удалить все письма с почтового ящика mbox:

&d *

На этом, у меня все, тема «Команды mail/mailx в примера на Unix/Linux» завершена.

4 thoughts on “Команды mail/mailx в примера на Unix/Linux

  1. Если у меня все письма в первый экран не влазят, как увидеть следующую страницу списка?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.