Bug#460395: "MIME-Version: 1.0" hardwired

jidanni at jidanni.org jidanni at jidanni.org
Sat Jan 12 00:41:28 UTC 2008


Package: libmime-lite-perl
Version: 3.021-1

I hereby inform you that despite the man page saying

       Giving VALUE as the empty string adds an invisible placeholder to
       the header, which can be used to suppress the output of the "Con-
       tent-*" fields or the special  "MIME-Version" field.  When sup-
       pressing fields, you should use replace() instead of add():

           $msg->replace("Content-disposition" => "");

       Note: add() is probably going to be more efficient than
       "replace()", so you're better off using it for most applications if
       you are certain that you don't need to delete() the field first.

There is _no way_ you will get "MIME-Version: 1.0" out. It is hardwired.

       use MIME::Lite;
       $m="MIME-Version";
       $msg = MIME::Lite->new( Type => "multipart/digest" );
       $msg->attr($m => "qqq");
       $msg->replace($m => undef);
       $msg->replace($m => "");
       $msg->replace($m => "zzz");
       $msg->attr($m => "");
       $msg->attr($m => undef);
       $msg->attr($m => "uuu");
       $msg->add($m => "kkk");
       $msg->scrub([$m]);
       $msg->delete($m);
       $msg->print( \*STDOUT );

One even sees warnings,

       Explicitly setting a MIME header field (mime-version) is dangerous:
       use the attr() method instead.

as if it worked.

Why would one want to remove MIME-Version? How about here on the man page:

       Attach a pre-prepared part to a message

           ### Create a standalone part:
           $part = MIME::Lite->new(...
           ### Attach it to any message:
           $msg->attach($part);

Attempt to get it out of $part before attaching.

Anyways, the only way to get it out of an attachment is
       $msg->attach( Type ... );







More information about the pkg-perl-maintainers mailing list