cron 스크립트 설정에서 사용자에게 로컬 메일 보내기

cron 스크립트 설정에서 사용자에게 로컬 메일 보내기

내 cron.daily 스크립트의 한 줄이 예상대로 작동하지 않습니다. 나는 아니에요특별한시스템의 SMTP 메일 서버에서 이 줄은 rsync -avun --inplace /oneuser/file.xls /otheruser/file.xls|mail -s "$0$?"라는 Cannot open mail:25메시지를 제공합니다. 로컬 메일 하위 시스템을 설정하려면 무엇이 필요합니까? 나는 이메일 서버 설정보다 간단한 사서함을 선호합니다. 로그인한 다른 사용자가 mail명령을 통해 cron(루트) 메시지를 읽을 수 있다는 점이 마음에 듭니다. 비슷한 질문을 찾았지만 여기서는 답변을 찾을 수 없습니다.로컬 메일 검색 및 배달을 어떻게 설정합니까?

명령을 사용하여 사용자에게 메일을 보내려고 하면 mail요점을 알 수 있습니다.

EOT
[root@localhost etc]# send-mail: Cannot open mail:25

답변1

postfix그냥 지역메일배달 설치하시는걸 추천드립니다 . 적어도 Ubuntu에서는 로컬 전용 전달 옵션을 포함하는 설정을 대화식으로 요청합니다.

또한 메일 배달을 위한 로컬 계정을 만들고 mailboy모든 사람이 해당 계정으로 배달된 메시지를 읽도록 허용할 수 있습니다.

root에 메일을 보내 려면 다음 줄을 mailboy편집 하고 추가하세요./etc/aliases

root: mailboy@localhost

이 작업을 수행한 후 newaliases.

답변2

내 로그에도 이 메시지가 있습니다. ssmtp가 Fedora 19+ 메일 전송을 위한 새로운 기본값인 것 같거나 적어도 내 Fedora 19에 설치된 것으로 표시됩니다. 포트 25에서 다른 mta를 실행하면 ssmtp에서 이 오류가 발생합니다. 하지만 제가 쓴 것은 그보다 전송되지 않은 메시지가 dead.letter 파일에 저장된다는 것입니다. 제 경우에는 이 파일이 /root에 있습니다. 따라서 전송되지 않은 이메일이 어떻게 되는지 궁금하신 경우 해당 파일은 죽은.편지.

답변3

저는 Fedora 20을 사용하고 있는데 갑자기 새로 설치된 시스템에서 이 오류가 발생했습니다. 모든 이전 호스트(>70)는 다음을 수행할 수 있었습니다.

echo "hello world" | 메일 -s "경례"[이메일 보호됨]

스크립트 등은 매우 유용합니다.

이제 명령줄 호출이 실패하기 시작합니다.

sSMTP[3144]: '메일' 포트 25에 연결할 수 없습니다. sSMTP[3144]: 메일을 열 수 없습니다: 25

sendmail의 로그에 따르면 명령이 -bd 옵션("데몬으로 실행")을 좋아하지 않는 것으로 나타났습니다. 어떻게 그래? 물론 데몬이 없으면 오류를 일으키는 25/tcp를 수신하지 않습니다.

이제 명령 자체를 따르십시오. 원본 sendmail 바이너리를 실행하는 대신 ssmtp가 나타나 이를 대체합니다.

/usr/sbin/sendmail -> /etc/alternatives/mta -> /usr/sbin/sendmail.ssmtp

바꾸다

/usr/sbin/sendmail -> /etc/alternatives/mta -> /usr/sbin/sendmail.sendmail

이제 ssmtp는 매뉴얼 페이지에 따르면 매우 간단하며 sendmail을 가장 간단한 기능으로 대체하기 위한 것이며 -bd 옵션을 지원하지 않습니다. 따라서 포트 25가 없습니다.

여기서 모든 인터럽트가 발생합니다. 포트 25와 통신하는 명령이 종료됩니다.

제거했습니다(yum 제거 ssmtp). 이로 인해 원래 sendmail이 해당 역할을 다시 시작하게 되었습니다. 서비스를 다시 시작하면 포트 25가 활성화되었습니다.

이제 메일링이 원래 형태로 정상으로 돌아왔습니다.

나중에 ssmtp의 장점을 살펴보도록 할게요...

답변4

필요한 것은 SMTP 서버입니다.메일 전송 대행.

opensmtpd서비스를 설치하고 시작하기만 하면 됩니다 .기본 할당지역 우편 배송용입니다.

관련 정보