쉘 스크립트에서 이메일 보내기

쉘 스크립트에서 이메일 보내기

나는 백그라운드에서 간단한 프로그램을 실행하고, 출력을 기록하고, 작업이 완료되면 나에게 이메일을 보내는 스크립트를 작성했습니다. 이메일을 받지 못하는 것 빼고는 잘 작동합니다. Yahoo 메일, Gmail을 시도했지만 이메일을 받지 못했습니다. 나는 들었다:

1) 명령을 시도해 볼 수 있지만 tee이 명령을 사용한 적이 없습니다.

2) 일부 이메일 서비스에서는 보낸 사람을 지정하지 않으면 이메일을 받을 수 없습니다.

저는 페도라를 사용하고 있습니다. 다음은 백그라운더 결과를 기록한 다음 이메일을 보내는 데 사용하는 코드입니다.

(nice -n 10 nohup ./$user_cmd >$log_stdout 2>$log_stderr </dev/null ; echo $body `date` | mutt -s "$subj" $recipient) &

불분명한 경우 알려주시면 전체 스크립트를 게시하겠습니다. 기본적으로 목표는 nice및 명령을 사용하여 이메일을 보내는 것입니다 nohup.

답변1

메일을 받지 못하는 데에는 여러 가지 이유가 있습니다(스팸, MTA가 구성되지 않음). 이를 달성하는 가장 쉬운 방법은 Gmail SMTP 서버를 통해 작동하도록 MTA를 구성하는 것입니다.

하지만 먼저 MTA가 설치되어 있는지 확인하세요!

다음은 다양한 MTA에 대한 몇 가지 구성 예입니다.

접미사http://ubuntulinux.co.in/blog/ubuntu/set-up-postfix-for-relaying-emails-via-gmail-smtp-server/

수출입은행http://wiki.debian.org/GmailAndExim4

이메일을 보내http://appgirl.net/blog/configuring-sendmail-to-relay-through-gmail-smtp/

그렇지 않고 Google을 사용하지 않으려면 다음을 확인하세요.

  1. MTA가 올바르게 설치 및 구성되어 메시지 대기열의 메시지를 볼 수 있습니다(사용메일큐주문하다)
  2. MTA가 메시지를 전달할 수 있는 경우 대기열에서 "반송된 메시지"를 확인하세요. 스팸으로 표시될 수 있습니다.

관련 정보