유닉스에서 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이 아닙니다.