Что такое «У вас есть новое письмо» в Linux /UNIX?

Иногда, когда я вхожу в ящик и «su» для root, я получаю симпатичное небольшое сообщение о том, что у меня есть почта (спасибо БОГ, что это не AOL).

  • Где это письмо?
  • Что он содержит?
  • Кто /что отправил?
  • Насколько это важно?

Это даже настоящая «почта» в том же смысле, что и электронная почта? Или это только моя система говорит мне что-то?

EDIT: . В отношении this , мог ли я отправлять почту с помощью программы sendmail следующим образом: [email protected]?

367 голосов | спросил n0pe 4 J000000Monday11 2011, 19:23:42

7 ответов


304

Где это письмо?

Вероятно, он находится в файле спула: /var/mail/$USER или /var/spool/mail/$USER являются наиболее распространенными локациями в Linux и BSD.

(Возможны другие местоположения - проверьте, установлен ли $MAIL), но по умолчанию система информирует вас только о /var(/spool)/mail).

Обычно файл spool находится в очень простом формате mbox , поэтому вы можете открыть его в текстовом редакторе или пейджере.

Для более удобного способа большинство дистрибутивов поставляется с программой под названием mail (или Mail, mailx)). Вы можете попробовать mutt или alpine; вы даже можете настроить его для отправки во внешний почтовый ящик. (См. «Это настоящая почта?» Ниже.)

Что он содержит, и кто /что его отправил?

Чаще всего сообщения содержат вывод заданий cron или отчет о безопасности системы logwatch или аналогичный нежелательный файл. Прочтите его и узнайте.

Насколько это важно?

В значительной степени зависит от содержимого каждого сообщения.

Вы должны по крайней мере отсканировать заголовки темы - часто люди игнорируют почту в течение нескольких месяцев, никогда не понимая, что их ежедневные задания cron терпят неудачу.

Является ли это даже фактической «почтой» в том же смысле, что и электронная почта? Или это только моя система говорит мне что-то?

Да для обоих - он генерируется вашей системой, сообщая вам что-то, но это также актуальная электронная почта и может обрабатываться как таковая.

Вы можете (и должны) настроить ваше почтовое программное обеспечение - «MTA» aka /usr/sbin/sendmail - для пересылки сообщений на ваш личный почтовый адрес. Точные инструкции различаются в зависимости от того, какой MTA (если таковой имеется) вы установили, будь то персональный компьютер или сервер, независимо от того, имеете ли вы свой собственный домен или используете @ gmail.com и т. Д. .

Обратите внимание, что /usr/sbin/sendmail в настоящее время является общим API, а не обязательно означает оригинальную MTA Sendmail. Фактически, вы не должны использовать Sendmail, но что-то более современное, например OpenSMTPD, Postfix или Exim4. Все они предоставляют один и тот же инструмент /usr/sbin/sendmail, но они легче конфигурируются, более безопасны и так же мощны.

ответил grawity 4 J000000Monday11 2011, 20:30:34
175

Самый простой способ для меня заключался в следующем:

cat /var/spool/mail/root
ответил Maclovin 25 52011vEurope/Moscow11bEurope/MoscowFri, 25 Nov 2011 15:46:45 +0400 2011, 15:46:45
34

Просто для того, чтобы дать некоторое разъяснение, давно уже давно было предусмотрено, что ящики UNIX запускают «локально настроенный» почтовый демон, который не маршрутизирует сообщения через Интернет, а только копирует сообщения в другие каталоги спуллов пользователей (как @John T). Это настоящая SMTP-совместимая электронная почта, она просто не маршрутизируется через Интернет, потому что это не обязательно.

Итак, если вы запускаете почтовый клиент (например, alpine или mutt), вы можете отправлять почту другим пользователям в системе, обращаясь к [email protected] или во многих случаях, просто указывая пользователя. Вероятно, у вас также есть утилита командной строки, называемая mailx, которая может быть использована для отправки быстрого письма с использованием вашей оболочки.

Теперь, если вы хотите отправлять сообщения пользователям в системах, отличных от тех, с которыми вы вошли в систему, вот где начинается настоящая забава. Вам нужно будет настроить ваш почтовый демон, чтобы распознавать и передавать внешнюю почту агенту передачи, настраивать агента передачи и делать целую кучу вещей, которые я еще не понимаю.

ответил LawrenceC 4 J000000Monday11 2011, 20:31:21
34

Для всех, кто задается вопросом, как читать эти сообщения по одному, вы можете просто использовать «mail»

$ mail

Затем введите номер сообщения из списка, который вы хотите прочитать.

Чтобы перейти к следующему сообщению, вы можете ввести «next», другая полезная команда - «удалить».

Чтобы узнать больше о том, как работает программа mail, см. вывод man mail.

ответил Dominic Williams 30 PM000000110000000731 2014, 23:47:07
22

Где это письмо?

Скорее всего, сохранен на вашем компьютере, в папке почтового ящика для вашего пользователя root (где THAT зависит от того, какой почтовый сервер вы установили). Вероятно, вы можете получить доступ к нему довольно быстро через alpine .

Что он содержит?

Вероятно, это просто материал типа системного отчета. «Итак, так попробовали войти в систему 10 раз с неправильным паролем». «Я хочу, чтобы кто-то запускал обновления на меня», «это аппаратное устройство, похоже, умирает» и т. Д.

Кто /что отправил его?

Услуги на вашем сервере, скорее всего.

Насколько это важно?

В зависимости от того, насколько важен ваш сервер.

ответил James T Snell 4 J000000Monday11 2011, 19:29:18
13

Эта почта обычно находится в /var/spool/mail/root, когда настроен (обычный) почтовый демон sendmail. Он содержит сообщение электронной почты RAW, которое можно прочитать с помощью утилиты mail. Кто его отправил, можно найти, запустив утилиту mail и выполнив пейджинг через сообщения или прочитав заголовки RAW.

Важность сообщения обычно зависит от предыдущего фактора, который отправил его:)

Многие системные утилиты будут использовать почтовую подсистему в качестве средства отчетности и ведения журнала. Утилиты просмотра журналов и другие службы могут отправлять электронное письмо локальному пользователю root в качестве напоминания о конкретном событии, например о нехватке места на диске или аппаратных ошибках. Демон почтовой программы также предупредит вас, если он не смог отправить исходящий адрес электронной почты.

ответил John T 4 J000000Monday11 2011, 19:28:29
10

less +G /var/spool/mail/root

показывает последние письма, в конце, если файл.

Непосредственное отображение почтового файла - хорошая идея, но с помощью cat можно легко ошибиться. Вы не хотите прокручивать письма all , если в файле много сообщений или очень длинных сообщений. Я только что видел один с 150 МБ, два миллиона линий.

Если вы не root:

sudo less +G /var/spool/mail/root

Опция +G используется для отображения самого нового сообщения; Он не находится в верхней части файла, но в конце.

Это вариант less, после чего он показывает последнюю страницу файла. Это показывает последнее сообщение (самое новое), если оно соответствует одной странице, или конец этого в противном случае.

Имя файла может быть /var/spool/mail/mail вместо /var/spool/mail/root

ответил Volker Siegel 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 03 Sep 2014 04:16:39 +0400 2014, 04:16:39

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132