Сообщение «У вас есть почта» в терминале, os X [закрыто]

170

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

Что это значит? Я никогда не видел этого раньше.

Это были сообщения от ботов xCode.

боты

Спасибо за помощь.

Олег Соболев
источник
11
Беги mailи читай почту.
Блендер
Для начала - у меня нет никаких непрочитанных писем. Во-вторых, почему эта строка появилась сейчас? Я никогда не видел ее раньше.
Олег Соболев
2
Этот вопрос , как представляется, не по теме , потому что она лучше подходит для apple.stackexchange.com
Monolo

Ответы:

60

Возможно, это какое-то сообщение от вашей системы.

Введите в терминале:

man mail

и посмотреть, как вы можете получить это сообщение из вашей системы.

Эвелин Аморим
источник
какой адрес электронной почты это использует?
АбхиманьюАрян
4
а затем введите «d *», чтобы стереть все сообщения
Рикардо Мартинс
9
Случайное опустошение /var/mail/<your-username>по прибытии почты (которое еще не прочитано) может срабатывать You have mailкаждый раз, когда вы открываете новую вкладку в Терминале (что случилось со мной однажды). Чтобы решить эту проблему, файл необходимо удалить (т. Е. sudo rm /var/mail/<your-username>).
Мунташир Акон
4
Это не отвечает на вопрос.
минатверма
272

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

Что я обнаружил, так это

Что-то, что я установил (не совсем уверен, что, но, возможно, сценарий или что-то связанное с рабочим процессом Alfred [на догадку]) внесло изменения в систему OS X, чтобы начать представлять уведомления терминала bash. До этого, похоже, Wordpress пытался использовать систему локальной почты для отправки сообщения. Сообщение отклонено из-за неправильного адреса получателя. Отскоченное сообщение затем попало в почтовый ящик локальной системы. Терминал (bash) тогда уведомлял меня, что «у тебя есть почта».

Вы можете получить доступ к почте, просто используя команду

mail

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

t

Это покажет вам содержание первого сообщения, в полном объеме. Вам нужно прокрутить сообщение вниз, чтобы просмотреть все, нажав down-arrowклавишу.

Если вы хотите перейти к концу сообщения, используйте

spacebar

Если вы хотите прервать просмотр сообщения, используйте

q 

Для просмотра следующего сообщения в очереди используйте

n

... при условии, что есть более одного сообщения.

ПРИМЕЧАНИЕ. Эти команды необходимо использовать в ?командной строке почты . Они не будут работать, пока вы находитесь в процессе просмотра сообщения. Нажатие nво время просмотра сообщения вызовет только сообщение об ошибке, связанное с регулярными выражениями. Поэтому, если вы просматриваете сообщение, нажмите, qчтобы выйти из него, или нажмите, spacebarчтобы перейти к концу сообщения, а затем нажмите? командной строке нажмите n.

Просмотр содержимого сообщений таким способом может помочь вам определить, что пыталось отправить сообщение (я).

Вы также можете просмотреть конкретное сообщение, просто введя его номер в командной ?строке.3Например, покажет вам содержание третьего сообщения (если их там много).

Используйте команду (в ?командной строке)

d [message number]

Чтобы удалить каждое сообщение, когда вы закончите, глядя на них. Например, d 2удалит сообщение номер 2. Или вы можете удалить список сообщений, например d 1 2 5 7. Вы увидите номера сообщений в списке сообщений, которые вам показывает почта.

Чтобы удалить все сообщения, из ?командной строки ( ) используйте команду d *.

Согласно комментарию к этому сообщению, вам нужно будет использовать qдля выхода из почты, что также сохраняет любые изменения.

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

cat /var/mail/<username>

И, если вы хотите удалить все электронные письма одним нажатием, используйте эту команду

sudo rm /var/mail/<username>

В моем конкретном случае было несколько сообщений. Похоже, это было возвращенное сообщение, которое отскочило. Он был отправлен локальной установкой Wordpress. Это было уведомление, когда пользователь «Admin» (я) изменил свой пароль. Два дополнительных сообщения, где есть. Оба, казалось, были в одном и том же инциденте.

Чего я не знаю и не могу ответить за вас, так это ПОЧЕМУ я только недавно начал видеть это почтовое уведомление каждый раз, когда открываю Терминал. Письма были сгенерированы пару месяцев назад, и все же я заметил, что это сообщение «у вас есть почта» появилось в последние несколько недель. Я подозреваю, что это результат какого-то рабочего процесса, который я установил в Alfred, и того рабочего процесса, использующего Terminal bash для предоставления уведомлений ... или чего-то подобного.

Просто удаляя сообщения

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

sudo rm /var/mail/YOURUSERNAME
inspirednz
источник
12
Обратите внимание, что вам нужно будет использовать q для выхода из почты, чтобы сохранить изменения на диске
storm_m2138
Команды 'n' и 'd', следующие за использованием 't' для отображения первого сообщения, не работают так, как вы описали для меня. Кажется, что «d» прокручивается, а «n» как-то связано с регулярными выражениями.
Натан Хорнби
@NathanHornby Вам нужно будет использовать эту команду, как только вы вернетесь в ?командную строку. tдаст вам полное считывание первого сообщения, с :подсказкой, если сообщение переполняет определенный объем вывода. Нажатие на любую клавишу заставит ее продолжать отображать больше сообщения и т. Д., Пока вы не прочитаете его конец. Или вы можете прокрутить с помощью мыши / сенсорной панели. Вы можете нажать, qчтобы прервать просмотр сообщения (я не могу проверить это сейчас, но попробуйте). Чтобы удалить все сообщения, вы должны использовать команду d *. Чтобы удалить второе сообщение, вы бы использовали d 2, и так далее. Используйте их в ?приглашении почты .
inspirednz
1
Просто и эффективно, спасибо.
Chrstph SLN
1
Вы также можете удалить диапазон сообщений, например:d 1-15
Джей Шеферд
55

Если вы не хотите хлопот с использованием mail, вы можете прочитать почту с

cat /var/mail/<username>

и удалите почту с

sudo rm /var/mail/<username>
KBA
источник
Можете ли вы сказать мне, какой адрес электронной почты зарегистрирован в / var / mail / Как мне его проверить?
АбхиманьюАрян
@ androidplusios.design Адрес электронной почты - это ваше имя пользователя в системе. Электронные письма отправляются вам системой. Вы также можете быть псевдонимом для других пользователей системы и, таким образом, получать их электронные письма. См /etc/aliases. Для получения дополнительной информации, проверьте Что такое сообщение «У вас есть новая почта» в Linux / UNIX? ,
КБА
Это был единственный ответ здесь, который действительно работал для меня, ура!
Натан Хорнби
10

Это означает, что созданный вами процесс или сценарий отправляет почту на учетную запись на локальном компьютере (например, на почтовый сервер, работающий в приложении localhost).

Управляйте этим письмом с помощью этих команд:

t <message list>        type messages
n                       goto and type next message
e <message list>        edit messages
f <message list>        give head lines of messages
d <message list>        delete messages
s <message list>        file append messages to file
u <message list>        undelete messages
R <message list>        reply to message senders
r <message list>        reply to message senders and all recipients
pre <message list>      make messages go back to /var/mail
m <user list>           mail to specific users
q                       quit, saving unresolved messages in mbox
x                       quit, do not remove system mailbox
h                       print out active message headers
!                       shell escape
cd [directory]          chdir to directory or home if none given

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

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

растяжение мышц
источник
10

Как объяснила вдохновенная жизнь , вы можете выяснить, что происходит, используя mailкоманду.

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

echo -n > /var/mail/yourusername
Едигей
источник