sendmail로 메시지를 보내는 형식은 무엇입니까?

sendmail로 메시지를 보내는 형식은 무엇입니까?

메시지를 동적으로 생성하고 다음 명령을 사용하여 보냅니다.

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

쉘 스크립트의 "Document here"(메시지 제목과 본문 작성)

#!/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

관련 정보