Browse Source

fix bugs found during testing responses

Pi 1 year ago
parent
commit
5d488bb5c0
1 changed files with 16 additions and 10 deletions
  1. 16 10
      cropswap-sendmail.sh

+ 16 - 10
cropswap-sendmail.sh

@@ -50,6 +50,14 @@ mk_list_headers(){
 		-I "List-Post: <mailto:$MAILGROUP>" \
 		-I "List-Unsubscribe-Post: List-Unsubscribe=One-Click"
 }
+rm_list_headers(){
+	reformail \
+		-I "List-Id:" \
+		-I "List-Unsubscribe:" \
+		-I "List-Subscribe:" \
+		-I "List-Post:" \
+		-I "List-Unsubscribe-Post:"
+}
 tee >(mk_headers > mail) | "${MIME_INJECT}" "${REPLYTO:-$MAILGROUP}" | reformime -s1 -e > body
 cat body >> mail
 
@@ -60,27 +68,25 @@ for addr in "${SUBSCRIBED[@]}"; do
 	echo "Forwarding mail: "
 	echo "From: ${FROM} <${MAILGROUP}>"
 	echo "To: $addr"
-	"$SENDMAIL" -F "${FROM}" -f "${MAILGROUP}" "$addr" < mail
+	reformail \
+		-I "To: $addr" \
+	< mail | "$SENDMAIL" -F "${FROM}" -f "${MAILGROUP}" "$addr"
 	DELIVERED=true
 done
-if [ "${MAILGROUP}" == "${MEMBERGROUP:-x}" ]
+if [ "${MAILGROUP}" == "${MEMBERGROUP:-x}" ] && $DELIVERED
 then
 	reformail \
-		-I "List-Id:" \
-		-I "List-Unsubscribe:" \
-		-I "List-Subscribe:" \
-		-I "List-Post:" \
-		-I "List-Unsubscribe-Post:" \
 		-I "To: ${TOALIAS:-} <${MAILGROUP}>" \
-	< mail | "$SENDMAIL" -F "${FROM}" -f "${MAILGROUP}" "${CROPSWAPARCHIVE}"
+	< mail | rm_list_headers | "$SENDMAIL" -F "$FROM" -f "$MAILGROUP" "$CROPSWAPARCHIVE"
 fi
 
 "$DEBUGMAIL" "delivered:$DELIVERED" < mail || true
-if ! $DELIVERED; then
+if ! $DELIVERED
+then
 	EXITCODE="$UNDELIVERABLE"
 	RESP="${RESPDIR}/${EXITCODE}.html"
 	FROM="$NOFORWARD"
 	export RESP FROM
-	"$MAILBOT" < mail
+	rm_list_headers < mail | "$MAILBOT"
 fi
 exit 0