Что такое «У вас есть новое письмо» в Linux /UNIX?
Иногда, когда я вхожу в ящик и «su» для root, я получаю симпатичное небольшое сообщение о том, что у меня есть почта (спасибо БОГ, что это не AOL).
- Где это письмо?
- Что он содержит?
- Кто /что отправил?
- Насколько это важно?
Это даже настоящая «почта» в том же смысле, что и электронная почта? Или это только моя система говорит мне что-то?
EDIT: . В отношении this , мог ли я отправлять почту с помощью программы sendmail следующим образом: [email protected]
?
7 ответов
Где это письмо?
Вероятно, он находится в файле спула: /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
, но они легче конфигурируются, более безопасны и так же мощны.
Самый простой способ для меня заключался в следующем:
cat /var/spool/mail/root
Просто для того, чтобы дать некоторое разъяснение, давно уже давно было предусмотрено, что ящики UNIX запускают «локально настроенный» почтовый демон, который не маршрутизирует сообщения через Интернет, а только копирует сообщения в другие каталоги спуллов пользователей (как @John T). Это настоящая SMTP-совместимая электронная почта, она просто не маршрутизируется через Интернет, потому что это не обязательно.
Итак, если вы запускаете почтовый клиент (например, alpine
или mutt
), вы можете отправлять почту другим пользователям в системе, обращаясь к [email protected]
или во многих случаях, просто указывая пользователя. Вероятно, у вас также есть утилита командной строки, называемая mailx
, которая может быть использована для отправки быстрого письма с использованием вашей оболочки.
Теперь, если вы хотите отправлять сообщения пользователям в системах, отличных от тех, с которыми вы вошли в систему, вот где начинается настоящая забава. Вам нужно будет настроить ваш почтовый демон, чтобы распознавать и передавать внешнюю почту агенту передачи, настраивать агента передачи и делать целую кучу вещей, которые я еще не понимаю.
Для всех, кто задается вопросом, как читать эти сообщения по одному, вы можете просто использовать «mail»
$ mail
Затем введите номер сообщения из списка, который вы хотите прочитать.
Чтобы перейти к следующему сообщению, вы можете ввести «next», другая полезная команда - «удалить».
Чтобы узнать больше о том, как работает программа mail
, см. вывод man mail
.
Где это письмо?
Скорее всего, сохранен на вашем компьютере, в папке почтового ящика для вашего пользователя root (где THAT зависит от того, какой почтовый сервер вы установили). Вероятно, вы можете получить доступ к нему довольно быстро через alpine .
Что он содержит?
Вероятно, это просто материал типа системного отчета. «Итак, так попробовали войти в систему 10 раз с неправильным паролем». «Я хочу, чтобы кто-то запускал обновления на меня», «это аппаратное устройство, похоже, умирает» и т. Д.
Кто /что отправил его?
Услуги на вашем сервере, скорее всего.
Насколько это важно?
В зависимости от того, насколько важен ваш сервер.
Эта почта обычно находится в /var/spool/mail/root
, когда настроен (обычный) почтовый демон sendmail. Он содержит сообщение электронной почты RAW, которое можно прочитать с помощью утилиты mail
. Кто его отправил, можно найти, запустив утилиту mail
и выполнив пейджинг через сообщения или прочитав заголовки RAW.
Важность сообщения обычно зависит от предыдущего фактора, который отправил его:)
Многие системные утилиты будут использовать почтовую подсистему в качестве средства отчетности и ведения журнала. Утилиты просмотра журналов и другие службы могут отправлять электронное письмо локальному пользователю root в качестве напоминания о конкретном событии, например о нехватке места на диске или аппаратных ошибках. Демон почтовой программы также предупредит вас, если он не смог отправить исходящий адрес электронной почты.
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