텍스트에 sendmail 및 html 형식에 문제가 있습니다.

텍스트에 sendmail 및 html 형식에 문제가 있습니다.

유닉스에서 HTML 형식의 첨부파일 2개와 제목이 포함된 메일을 보내야 합니다.

다음을 수행했는데 첨부 파일을 얻는 데 도움이 되었지만 메시지의 본문 내용은 얻지 못했습니다.

#!/bin/bash
from="[email protected]"
to="[email protected]"
subject="Status"
boundary="ZZ_/afg6432dfgkl.94531q"
body="mail_body.txt"
attachments=( "FiC.txt" "FiE.txt")

# Build headers
{

printf '%s\n' "From: $from
To: $to
Subject: $subject
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary=\"$boundary\"

--${boundary}
Content-Type: text/plain; charset=\"US-ASCII\"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

cat $body
"

for file in "${attachments[@]}"; do

  [ ! -f "$file" ] && echo "Warning: attachment $file not found, skipping" >&2 && continue

 #mimetype=$(get_mimetype "$file") 

  printf '%s\n' "--${boundary}
Content-Type: text/html
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=\"$file\"
"

  base64 "$file"
  echo
done

printf '%s\n' "--${boundary}--"

} | /usr/sbin/sendmail -t -oi 

mail_body.txt의 내용:

   echo "<html>
        <head>
        <title> Status</title>
        </head>
        "

이메일 본문의 HTML 콘텐츠를 인쇄하는 데 도움을 주실 수 있나요?

답변1

printf '%s\n' "...
고양이몸
"

이것인쇄주문하다 cat. 그렇지 않다달리기그것.

형식 사양에 사용 하려는 경우 \n따옴표로 묶은 개행 문자와 하나의 큰 문자열을 사용하지 않는 것이 가장 좋습니다 .

Content-Type: text/plain; charset=\"US-ASCII\"

분명히 지정된 본문 부분은 text/plain그렇게 해석되지 않습니다 text/html. 파일의 내용(주어진 대로)은 처음에는 HTML이 아닙니다.

관련 정보