bash: 이메일로의 printf 실패, 리디렉션 성공

bash: 이메일로의 printf 실패, 리디렉션 성공

printf의 출력을 메일로 파이프하면 이메일이 전송되지 않습니다. 출력을 파일에 쓰고 파일의 입력을 리디렉션하면 작동합니다.

예를 들어 다음과 같은 bash 스크립트가 있습니다.

printf "\nsending email.\n" | /usr/bin/mail -s "email test 1" [email protected]

printf "\nsending email\n" > /tmp/email-test
/usr/bin/mail -s "email test 2" [email protected] < /tmp/email-test

이메일 테스트 2는 전달되지만 이메일 테스트 1은 전달되지 않습니다.

증상은 간헐적으로 나타납니다. 때로는 두 이메일이 모두 나가는 경우도 있습니다. 때로는 파이프가 있는 것이 실패하는 경우도 있습니다.

둘 중 하나가 나가든 둘 다에 대해 다음과 유사한 로그 줄이 표시됩니다.

Nov 17 07:39:10 boxtop3 postfix/smtp[12749]: 9A7032C23C5: to=<[email protected]>, orig_to=<[email protected]>, relay=smtp.gmail.com[64.233.177.109]:587, delay=1.7, delays=0.04/0/1.1/0.58, dsn=2.0.0, status=sent (250 2.0.0 OK  1573994350 z127sm6991417ywb.38 - gsmtp)
Nov 17 07:39:10 myserver postfix/qmgr[12702]: 9A7032C23C5: removed

내 이메일은 mydomain.com과 mydomain.org 모두에 대해 GMail에서 호스팅됩니다. GMail이 간헐적으로 내 이메일 중 일부를 삭제하는 것 같습니다. 왜?

사용:

  • GNU bash, 버전 4.4.20(1)-릴리스
  • 포스트픽스 3.3.0-1ubuntu0.2
  • 메일(GNU Mailutils) 3.4

답변1

이메일 명령에는 아무런 문제가 없는 것으로 나타났습니다. /var/log/mail에 표시된 것처럼 각각은 실행될 때마다 메시지를 안정적으로 보냅니다.

내 이메일이 다음 주소로 전송됩니다.[이메일 보호됨], Gmail에서 호스팅됩니다. [이메일 보호됨]모든 것을 전달하는 규칙이 있습니다[이메일 보호됨].

누락된 메시지는 다음 메일함에서 발견되었습니다.[이메일 보호됨]. 배달되지 않습니다.[이메일 보호됨]. 알 수 없는 이유로 Gmail이 내 메시지 중 일부를 전달하지 못하거나 전달하지 못했습니다. 전달/배달에 실패한 추가 이메일이 있습니다. 이 메시지는 제가 처음으로 알아차린 메시지입니다.

관련 정보