9

나는shell script리눅스를 사용하여 이메일 보내기Mailx, 이메일에는첨부 파일메시지 본문.

현재 첨부 파일이있는 이메일 보내기 :

output.txt | mail -s "Daily Monitoring" james@dell.com

메시지 본문을 추가하고 싶습니다. 나는 어떻게해야합니까?

Linux Mailx :

mail [-eIinv] [-a header] [-b addr] [-c addr] [-s subj] to-addr


6 답변


22

일반적인 방법은 사용하는 것입니다.uuencode첨부 파일 및echo몸을 위해 :

(uuencode output.txt output.txt; echo "Body of text") | mailx -s 'Subject' user@domain.com

Solaris 및 AIX의 경우,echo성명 :

(echo "Body of text"; uuencode output.txt output.txt) | mailx -s 'Subject' user@domain.com


  • 두 번째 실행 시도 및 빈 영역을 묻는 및 종료하려면 유일한 방법은 ctr + c, 코드가 가까이 있지 않은 것, 어떻게 내가 이것을 해결할 수 있습니다? - Rabb-bit
  • Ctrl + c를 누르면 메일이 첨부 파일없이 전송되므로 알려 주시기 바랍니다. - Rabb-bit
  • 파이프 라인의 이러한 각 명령은 시스템에서 개별적으로 작동합니까? - Johnsyweb
  • @ Johnsyweb - uuencode를 사용하지 않고 동일한 활동을 수행해야합니다. 그것은 가능한가 ?? - Nikhil
  • @nikhil : 여기에는 몇 가지 대안이 있습니다.stackoverflow.com/q/17359/78845 - Johnsyweb

3

가장 좋은 방법은 mpack을 사용하는 것입니다!

mpack -s "제목"-d "./body.txt" "././image.png"mailadress

mpack - 제목 - 본문 - 첨부 파일 - mailadress


1

이것을 사용해보십시오.

(echo "Hello XYX" ; uuencode /export/home/TOTAL_SI_COUNT_10042016.csv TOTAL_SI_COUNT_10042016.csv ) | mailx -s 'Script test' abc@xde.com


0

Johnsyweb의 대답은 나를 위해 작동하지 않았지만 Mutt와 함께 나를 위해 작동합니다.

echo "Message body" | mutt -s "Message subject" -a myfile.txt recipient@domain.com


0

이것을 시도 할 수 있습니다 :

(cat ./body.txt)|mailx -s "subject text" -a "attchement file" receiver@domain.com


0

RHEL Linux에서 첨부 파일 대신 전자 메일 본문에 메시지를 가져 오는 데 어려움이있었습니다. od -cx를 사용하여 이메일 본문에 여러 / r이 포함되어 있음을 발견했습니다. / r을 제거하기 위해 perl 스크립트를 사용했으며 메시지가 이메일 본문에 올바르게 삽입되었습니다.

mailx -s "subject text" me@yahoo.com < 'body.txt'

텍스트 파일 body.txt에는 char \ r이 들어 있으므로 perl을 사용하여 \ r을 제거했습니다.

cat body.txt | perl success.pl > body2.txt
mailx -s "subject text" me@yahoo.com < 'body2.txt'

이것은 success.pl입니다.

    while (<STDIN>) {
        my $currLine = $_;
        s?\r??g;
        print
    }
;

연결된 질문


관련된 질문

최근 질문