sendmail 기능에 테마를 추가하는 방법

sendmail 기능에 테마를 추가하는 방법

ksh에는 다음 코드 줄이 있습니다.

echo -e "$SUBJECT"|/usr/sbin/sendmail -f [email protected] -t [email protected]

$SUBJECT하지만 여전히 실제 주제가 아닌 본문에 담았습니다 . 무슨 문제가 있나요?

답변1

때로는 모든 헤더를 보내는 것이 더 쉽습니다.echo

예를 들어

{
  echo From: xxxx
  echo To: yyyy
  echo Subject: Foobar
  echo 
  echo This is the message
} | /usr/lib/sendmail -t

답변2

제목이 제목의 일부입니다. 다음을 시도해 보세요.

echo -e "Subject:$SUBJECT" | /usr/sbin/sendmail -f [email protected] -t [email protected]

답변3

echo -e당신은 정말로 이곳을 피하고 싶습니다 . 사실, 그것을 선택하는 데는 여러 가지 이유가 있으며 printf, 그 중 가장 중요한 것은 편리성입니다.

printf '%s\n' "Subject: $subject" \
   "From: I am a Sender <[email protected]>" \
   "To: Recipient <[email protected]>" \
   "" \
   "This is the body of the message." \
   "It spans multiple lines." |
sendmail -oi -t

빈 줄( "")은 헤더와 메시지 본문을 구분합니다. 단순 SMTP 메시지는 US-ASCII 전용 일반 텍스트입니다.

아직까지 할 수 있는 일이 상당히 제한되어 있습니다. ASCII가 아닌 문자 집합이나 중요한 MIME 구조를 사용해야 하는 경우에는 문자열을 하나씩 붙여넣고 싶지 않을 것입니다. 일부 버전에서는 mail첨부 파일이 포함된 적절한 MIME 메시지를 조합할 수 있으며, 더 복잡한 요구사항이 있는 경우 mailx이를 볼 수 있습니다.mutt

일반적인 실수는 다음과 같습니다

  • <주소 헤더에서 이전 공백을 생략하거나 특정 헤더 필드 주위에 이상한 따옴표를 배치해야 한다는 이상한 주장
  • 제목과 본문 사이의 빈 줄은 잊어버리세요
  • 본문(추가 MIME 헤더 없음)이 HTML이나 멀티파트가 아닌 일반 텍스트라는 점을 이해하지 마십시오.
  • 본문에 매우 긴 줄을 입력합니다(SMTP는 줄당 1000자 미만을 허용합니다. 이 제한을 깨려면 적절한 MIME 래핑을 사용하세요).
  • 문자 집합을 선언하지 않고 유니코드를 사용해 보십시오. (예상했겠지만 이를 수행하려면 MIME을 배우고 사용하십시오.)

또한 참고하시기 바랍니다Bash 및 쉘 스크립트 변수 대소문자 수정

답변4

echo -e "Subject:$sub" |sendmail -f [email protected] -t [email protected]. < body_detail.txt

관련 정보