--- smtp.c.orig	Fri Apr  5 03:32:48 1996
+++ smtp.c	Wed May  8 15:31:16 1996
@@ -190,6 +190,7 @@
 int mxcount = 0;
 int force_8bit = 0;		/* Claim to the remote to be 8-bit system, even
 				   when it doesn't report itself as such..*/
+int force_8bit_header = 0;	/* Also preserve 8-bit data even in headers */
 int force_7bit = 0;		/* and reverse the previous.. */
 int checkwks = 0;
 int headers_contain_8bit = 0;
@@ -381,7 +382,7 @@
 	myhostname[0] = '\0';
 	remotemsg[0] = '\0';
 	remotehost[0] = '\0';
-	while ((c = getopt(argc, argv, "c:deh:l:p:PrsxDET:VW78")) != EOF) {
+	while ((c = getopt(argc, argv, "c:deh:l:p:PrsxDET:VW78H")) != EOF) {
 	  switch (c) {
 	  case 'c':		/* specify channel scanned for */
 	    channel = strdup(optarg);
@@ -446,9 +447,13 @@
 	    force_8bit = 1;
 	    force_7bit = 0;
 	    break;
+	  case 'H':
+	    force_8bit_header = 1;
+	    break;
 	  case '7':
 	    force_7bit = 1;
 	    force_8bit = 0;
+	    force_8bit_header = 0;
 	  default:
 	    ++errflg;
 	    break;
@@ -801,7 +806,7 @@
 	  } /* switch().. */
 
 	  hdr_mime2 = headers_need_mime2(startrp);
-	  if (hdr_mime2) {
+	  if (hdr_mime2 && !force_8bit_header) {
 	    headers_to_mime2(startrp,verboselog);
 	  }
 
