이 질문에는 이미 답변이 있습니다.
나는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
일반적인 방법은 사용하는 것입니다.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
가장 좋은 방법은 mpack을 사용하는 것입니다!
mpack -s "제목"-d "./body.txt" "././image.png"mailadress
mpack - 제목 - 본문 - 첨부 파일 - mailadress
이것을 사용해보십시오.
(echo "Hello XYX" ; uuencode /export/home/TOTAL_SI_COUNT_10042016.csv TOTAL_SI_COUNT_10042016.csv ) | mailx -s 'Script test' abc@xde.com
Johnsyweb의 대답은 나를 위해 작동하지 않았지만 Mutt와 함께 나를 위해 작동합니다.
echo "Message body" | mutt -s "Message subject" -a myfile.txt recipient@domain.com
이것을 시도 할 수 있습니다 :
(cat ./body.txt)|mailx -s "subject text" -a "attchement file" receiver@domain.com
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
}
;