|Subject:||"MIME-Version: 1.0" hardwired|
As reported in Debian's BTS:"[...]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 ... );"