내 서버에 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.