for 루프를 사용하는 메일 명령이 신뢰할 수 없나요?

for 루프를 사용하는 메일 명령이 신뢰할 수 없나요?

마이그레이션 테스트를 실행하기 전에 이메일을 채우려는 테스트 이메일 계정 환경이 있습니다. 나는 다음 bash 스크립트를 사용하여 이를 달성하려고 노력해 왔습니다.

for i in {1..1000}; do
   echo "Test" | mail -s "Test Message $i" "[email protected]"
   sleep 0.1
done

그러나 실제로 수신된 이메일은 3개뿐이었습니다. 저는 Linux를 실행하는 클라우드 서버를 사용하고 있습니다. 이것은 안전 기능입니까 mailx?

답변1

루프 실행 시 오류가 발생하지 않으면 모든 메시지가 최소한 전송 대기 중인 로컬 시스템의 대기열에 있다고 가정해야 합니다.

메일 시스템 구성 방식에 따라 한 번에 보내는 메시지 수가 제한될 수 있습니다. 수신 시스템은 속도 제한 조치를 구현할 수도 있습니다.

즉, 메시지가 시스템에서 나왔는지 조사하십시오. 이 명령을 사용하면 로컬 메일 대기열을 볼 수 있습니다 mailq(대부분의 시스템에서는 사용 중인 메일러 소프트웨어에 따라 다를 수 있음). 메일 대기열의 메시지는 일반적으로 정기적으로 처리됩니다.

대상 주소가 Gmail 계정이므로 스팸 폴더도 확인해 보시는 것이 좋습니다.

관련 정보