mhbuild: Removed -contentid switch, which was an Outlook 2002 workaround.
authormarkus schnalke <meillo@marmaro.de>
Tue, 1 May 2012 11:53:32 +0000 (13:53 +0200)
committermarkus schnalke <meillo@marmaro.de>
Tue, 1 May 2012 11:53:32 +0000 (13:53 +0200)
Explanation:
Outlook 2002 won't display attachments that have a Content-ID header.
This is a bug in Outlook 2002, not in mhbuild. There used to be this
-nocontentid switch to prevent Content-ID headers to be inserted. As I
consider it wrong to complicate all other MUAs instead of forcing the
developers and users of broken MUAs to fix or change their software,
I removed it.
You can still workaround the bug in the following way: invoke
`e mhbuild' manually at the Whatnow prompt and edit the draft again
thereafter, removing the Content-ID headers. Then send it.

man/mhbuild.man1
uip/mhbuild.c

index 32df651..bb5f2d3 100644 (file)
@@ -9,7 +9,6 @@ mhbuild \- translate MIME composition draft
 .HP 5
 .B mhbuild
 .I file
-.RB [ \-contentid " | " \-nocontentid ]
 .RB [ \-verbose " | " \-noverbose ]
 .RB [ \-version ]
 .RB [ \-help ]
@@ -252,10 +251,7 @@ By default,
 will generate a unique \*(lqContent-ID:\*(rq for each directive,
 corresponding to each message part; however, the user may override
 this by defining the ID using the \*(lq<\*(rq and \*(lq>\*(rq
-characters.  The
-.B \-nocontentid
-switch suppresses creation of all \*(lqContent-ID:\*(rq headers,
-even in the top level of the message.
+characters.
 .PP
 In addition to the various directives, plaintext can be present.
 Plaintext is gathered, until a directive is found or the draft is
@@ -498,10 +494,22 @@ mhlist(1), show(1), mhstore(1), forw(1),
 
 .SH DEFAULTS
 .nf
-.RB ` \-contentid '
 .RB ` \-noverbose '
 .fi
 
 .SH CONTEXT
 If a folder is given, it will become the current folder.  The last
 message selected will become the current message.
+
+.SH BUGS
+Outlook 2002 won't display attachments that have a Content-ID header.
+This is a bug in Outlook 2002, not in
+.BR mhbuild .
+To workaround it, invoke \fIe mhbuild\fP manually at the Whatnow prompt
+and edit the draft again thereafter, removing the Content-ID headers.
+Then send it.
+There used to be a
+.B \-nocontentid
+switch to prevent Content-ID headers to be inserted, but as it was considerd
+wrong to complicate all other MUAs instead of forcing the developers and users 
+of broken MUAs to fix or change their software, it was removed.
index 0fb5315..67b2e0e 100644 (file)
@@ -33,15 +33,11 @@ static struct swit switches[] = {
        { "verbose", 0 },
 #define NVERBSW  1
        { "noverbose", 0 },
-#define CONTENTIDSW  2
-       { "contentid", 0 },
-#define NCONTENTIDSW  3
-       { "nocontentid", 0 },
-#define VERSIONSW  4
+#define VERSIONSW  2
        { "version", 0 },
-#define HELPSW  5
+#define HELPSW  3
        { "help", 0 },
-#define DEBUGSW  6
+#define DEBUGSW  4
        { "debug", -5 },
        { NULL, 0 }
 };
@@ -87,8 +83,6 @@ static CT build_mime(char *);
 int debugsw = 0;
 int verbosw = 0;
 
-int contentidsw = 1;
-
 /*
 ** Temporary files
 */
@@ -159,13 +153,6 @@ main(int argc, char **argv)
                                print_version(invo_name);
                                done(1);
 
-                       case CONTENTIDSW:
-                               contentidsw = 1;
-                               continue;
-                       case NCONTENTIDSW:
-                               contentidsw = 0;
-                               continue;
-
                        case VERBSW:
                                verbosw++;
                                continue;
@@ -1553,9 +1540,9 @@ build_headers(CT ct)
        add_header(ct, np, vp);
 
        /*
-       ** output the Content-ID, unless disabled by -nocontentid
+       ** output the Content-ID
        */
-       if (contentidsw && ct->c_id) {
+       if (ct->c_id) {
                np = getcpy(ID_FIELD);
                vp = concat(" ", ct->c_id, NULL);
                add_header(ct, np, vp);