From 427e1cb4f8a502955459b0f94d8b3f2ff9bcfaeb Mon Sep 17 00:00:00 2001
From: Rob Swindell <rob@synchro.net>
Date: Sat, 6 Mar 2021 13:30:04 -0800
Subject: [PATCH] Don't send default MIME Content-type for msgs with
 attachments

The file attachments, when MIME-encoded, already include a MIME Content-type
header field, so don't send another. This should fix issue #233.
---
 src/sbbs3/mailsrvr.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c
index d0da767fb5..f2eef48ad2 100644
--- a/src/sbbs3/mailsrvr.c
+++ b/src/sbbs3/mailsrvr.c
@@ -811,18 +811,18 @@ static ulong sockmimetext(SOCKET socket, const char* prot, CRYPT_SESSION sess, s
 			charset = "IBM437";
 	}
 
-	/* Default MIME Content-Type for non-Internet messages */
-	if(msg->from_net.type!=NET_INTERNET && msg->content_type==NULL) {
-		sockprintf(socket,prot,sess, "Content-Type: text/plain; charset=%s", charset);
-		sockprintf(socket,prot,sess, "Content-Transfer-Encoding: 8bit");
-	}
-
 	if(strListCount(file_list)) {	/* File attachments */
         mimeheaders(socket,prot,sess,mime_boundary);
         sockprintf(socket,prot,sess,"");
         mimeblurb(socket,prot,sess,mime_boundary);
         sockprintf(socket,prot,sess,"");
         mimetextpartheader(socket,prot,sess,mime_boundary, msg->text_subtype, charset);
+	} else {
+		/* Default MIME Content-Type for non-Internet messages */
+		if(msg->from_net.type!=NET_INTERNET && msg->content_type==NULL) {
+			sockprintf(socket,prot,sess, "Content-Type: text/plain; charset=%s", charset);
+			sockprintf(socket,prot,sess, "Content-Transfer-Encoding: 8bit");
+		}
 	}
 	if(!sockprintf(socket,prot,sess,""))	/* Header Terminator */
 		return(0);
-- 
GitLab