mailx 명령을 통해 여러 파일을 이메일로 보내기

mailx 명령을 통해 여러 파일을 이메일로 보내기

.txt 파일에 파일 이름이 3개 있습니다.

파일 이름을 모두 읽어서 메일 첨부 파일로 보내야 합니다.

예:

test.txt - (파일 이름)

-query1.dat

-query2.dat

-query3.dat

test.txt 파일을 읽고 모든 query*.dat 파일을 가져와서 mailx 명령을 사용하여 이 모든 파일을 첨부 파일로 메일을 보내야 합니다.

나는 이 코드를 가지고 있습니다 :

while read line
do

    mailx -a ${line} -s "files" ${mail_from} << EOM

    Hi, Sent files

    EOM

done<test.txt

별도의 이메일을 통해 각 파일을 개별적으로 보냅니다.

이 모든 파일을 하나의 이메일로 보내야 합니다.

어떻게 하나요?

답변1

-a file동일한 호출에 여러 개를 추가 할 수 있습니다 mailx.

while read pj ; do
    attach+=( -a "$pj" )
done < test.txt

mailx "${attach[@]}" -s "files" ${mail_from} << EOM

    Hi, Sent files

EOM
  • attach+=( -a "$pj")배열에 요소 2개 추가
  • "${attach[@]}"값에서 공백으로 구분되지 않고 배열의 각 요소를 별도의 값으로 확장합니다.

관련 정보