瀏覽代碼

handle plain text

Pi 1 年之前
父節點
當前提交
b18b240906
共有 1 個文件被更改,包括 24 次插入16 次删除
  1. 24 16
      cropswap-sendmail.sh

+ 24 - 16
cropswap-sendmail.sh

@@ -25,25 +25,33 @@ if [ "${subject/\[${SUBJECT}\]/}" == "${subject}" ]; then
 	subject="[${SUBJECT}] ${subject## }"
 fi
 
-
-echo "NOTICE:======== <<<" | makemime \
-	-c "text/plain" -C 'UTF-8' - | reformail \
-	-i 'Content-Disposition: inline;filename=NOTICE.txt' \
+set -x
+banner="NOTICE:======== <<<"
+makemime \
+	-c "text/plain" -C 'UTF-8' - <<< "${banner}" | reformail \
+	-I 'Content-Disposition: inline;filename=NOTICE.txt' \
 > banner
+content_type="$(reformail -x 'Content-Type:' < headers | cut -d';' -f1)"
+if ! [ "${content_type}" == "text/plain" ]; then
+	reformail \
+		-X 'Content-Type:' \
+		-X 'Content-Transfer-Encoding:' \
+	< original | reformail \
+		-a 'Content-Transfer-Encoding: 8bit' \
+		-a 'Content-Disposition: inline' \
+	> mime-headers
+	reformime -s1 -e < original | cat mime-headers - > alternative
+	makemime -m 'multipart/related' -C 'UTF-8' alternative > related
+	makemime -j related banner > mixed
+	makemime -m 'multipart/mixed' -a 'MIME-Version: 1.0' -C 'UTF-8' mixed | cat headers -
+else
+	cat headers - <<-EOF
 
-reformail \
-        -X 'Content-Type:' \
-        -X 'Content-Transfer-Encoding:' \
-< original | reformail \
-        -i 'Content-Transfer-Encoding: 8bit' \
-	-i 'Content-Disposition: inline' \
-> mime-headers
-reformime -s1 -e < original | cat mime-headers - > alternative
-
+	$(reformime -s1 -e < original)
 
-makemime -m 'multipart/related' -C 'UTF-8' alternative > related
-makemime -j related banner > mixed
-makemime -m 'multipart/mixed' -a 'MIME-Version: 1.0' -C 'UTF-8' mixed | cat headers - | reformail \
+	${banner}
+	EOF
+fi | reformail \
 	-U "MIME-Version:" \
 	-U "Content-Type:" \
 	-I "Subject: ${subject}" \