mailx에게 새 이메일 알림을 요청하려면 어떻게 해야 하나요?

mailx에게 새 이메일 알림을 요청하려면 어떻게 해야 하나요?

내 서버에 mailx를 설정하려고 합니다. 한 서버(Raspbian)에서 You have new mail메시지(또는 이와 유사한)가 포함된 새 메일을 받았습니다 . 다른 컴퓨터(Raspbmc)에서는 이 알림을 받지 못했습니다.

두 컴퓨터 모두 ~/.bashrc본질적으로 동일합니다. /etc/mail.rc후자의 시스템에는 존재하지 않지만 전자에는 다음과 같은 내용으로 존재합니다.

set ask askcc append dot save crt
ignore Received Message-Id Resent-Message-Id Status Mail-From Return-Path Via Delivered-To

편집하다

SSH를 통해 연결한다는 점도 언급해야겠습니다.

제안대로여기, 작동 중인 Raspbian 서버에서 손상된 Raspbmc 서버로 복사한 다음 로그아웃했다가 다시 로그인을 시도했지만 /etc/pam.d/sshd문제가 해결되지 않았습니다. 이 파일에는 다음이 포함되어 있습니다.

# Print the status of the user's mailbox upon successful login.
session    optional     pam_mail.so standard noenv # [1]

마지막으로 접속 시간이 /var/mail/pi수정 시간보다 빠른 것도 확인했습니다. (파일 시스템은 어쨌든 마운트됩니다 noatime.)

답변1

AFAIK 메일 알림은 MAIL 환경 변수를 설정하여 bash에서 구현되는 쉘 기능이며 명령과 거의 관련이 없습니다 mailx. 다른 쉘에서는 그 기능이 다를 수 있습니다.

내 RHEL 시스템의 구성은 /etc/profile다음과 같습니다.MAIL="/var/spool/mail/$USER"

설정된 경우 간단한 echo $MAIL이 표시됩니다.

언뜻 보면 각 메시지가 별도의 파일에 저장되는 Maildir이 아닌 mbox 스타일 메일박스에서만 작동하는 것처럼 보입니다.

Bash 매뉴얼 페이지에서:

   MAIL   If  this  parameter is set to a file name and the MAILPATH vari-
          able is not set, bash informs the user of the arrival of mail in
          the specified file.
   MAILCHECK
          Specifies  how  often  (in  seconds)  bash checks for mail.  The
          default is 60 seconds.  When it is time to check for  mail,  the
          shell  does  so  before  displaying the primary prompt.  If this
          variable is unset, or set to  a  value  that  is  not  a  number
          greater than or equal to zero, the shell disables mail checking.
   MAILPATH
          A colon-separated list of file names to  be  checked  for  mail.
          The message to be printed when mail arrives in a particular file
          may be specified by separating the file name  from  the  message
          with a '?'.  When used in the text of the message, $_ expands to
          the name of the current mailfile.  Example:
          MAILPATH='/var/mail/bfox?"You  have  mail":~/shell-mail?"$_  has
          mail!"'
          Bash  supplies  a default value for this variable, but the loca-
          tion of the user mail files that it  uses  is  system  dependent
          (e.g., /var/mail/$USER).

동일한 시스템의 csh 매뉴얼에서는 소문자로 나타납니다.

이것 우편새 메일을 주기적으로 확인하도록 쉘 변수를 설정할 수 있습니다.

그리고

   mail    The names of the files or directories  to  check  for  incoming
           mail,  separated  by  whitespace,  and optionally preceded by a
           numeric word.  Before each prompt, if 10  minutes  have  passed
           since  the last check, the shell checks each file and says 'You
           have new mail.' (or, if mail contains multiple files, 'You have
           new  mail  in  name.')  if the filesize is greater than zero in
           size and has a modification time greater than its access  time.

           If  you  are  in  a  login shell, then no mail file is reported
           unless it has been  modified  after  the  time  the  shell  has
           started  up,  to  prevent  redundant notifications.  Most login
           programs will tell you whether or not you have  mail  when  you
           log in.

관련 정보