
다음 명령을 사용하여 즉시 메시지를 생성하고 보냅니다.
echo "Subject:Hello \n\n I would like to buy a hamburger\n" | sendmail [email protected]
파일에서 정보를 보낼 때 다음과 같은 작업을 수행하는 것 같습니다.
sendmail [email protected] mail.txt
그런 다음 sendmail은 각 행을 헤더로 보고 구문 분석합니다. 하지만 위에서 보낸 방식대로 모든 것이 제목 줄에 표시됩니다.
헤더가 포함된 메시지를 sendmail로 에코하려는 경우 형식은 무엇입니까? 어떻게 하나요?
답변1
귀하의 명령문은 실제로 다음에 오는 echo
시퀀스가 아닌 개행 문자를 출력해야 합니다 . 다음 옵션 을 제공하면 됩니다 .\
n
-e
echo -e "Subject:Hello \n\n I would like to buy a hamburger\n" | sendmail [email protected]
차이점이 무엇인지 이해하려면 다음 두 명령의 출력을 살펴보세요.
echo "Subject:Hello \n\n I would like to buy a hamburger\n"
echo -e "Subject:Hello \n\n I would like to buy a hamburger\n"
답변2
쉘 스크립트의 "여기 문서"(메시지 헤더 및 본문 작성)
#!/bin/sh
[email protected]
/usr/sbin/sendmail -i $TO <<MAIL_END
Subject: Hello
To: $TO
I would like to buy a hamburger
MAIL_END
외부 파일의 메시지 본문
#!/bin/sh
[email protected]
BODY_FILE=mail.txt
(cat - $BODY_FILE)<<HEADERS_END | /usr/sbin/sendmail -i $TO
Subject: Hello
To: $TO
HEADERS_END