<div dir="ltr"><div>On 19/03/2021 07.31, Joseph Tam wrote:</div><div>>> I've found the <a href="http://strip_attachments.pl">strip_attachments.pl</a> script here <<a href="https://fossies.org/linux/Mail-Box/examples/strip-attachments.pl">https://fossies.org/linux/Mail-Box/examples/strip-attachments.pl</a>> which works fine on mbox (as tested on my local Thunderbird mboxes), but not on maildir which is on the dovecot server. My Perl isn't strong enough to re-purpose it.</div>> <br>> It you have anything that works on mbox, it will probably work on Maildir<br>> as each file can be considered a single message mbox.  You can combine<br>> the script with<br>> <br>>      find ~user/MailDir -type f ... -exec /path/to/mbox-strip {} \;<br><div><br></div><div>I thought that too, but my initial test on a single message file didn't work like that. I think I got a zero length file. I'll dig into the code to see if I can figure it out, although my Perl hasn't been used for 20 years or so ... </div><div><br></div><div>> The ... can be replaced with more file tests (like minimum size or age or only within */cur/) to cut down on processing.</div><br>Sure. I'm quite handy with find, sed, awk and all that bash malarkey. I was actually wondering if it could be done with those alone, but it would make more sense to use a library which understands mime already, and does the heavy lifting. This approach might be good as a last resort. <br><br>> MIMEDefang may help.<br>Nice. Thanks for the pointer. <br><br>P.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 19, 2021 at 7:31 AM Joseph Tam <<a href="mailto:jtam.home@gmail.com">jtam.home@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, 18 Mar 2021, Plutocrat wrote:<br>
<br>
> I've been looking around for a solution to this problem. I want to prune down <br>
> the attachments on a server before a migration. Some of the emails are 7 <br>
> years old and have 40Mb attachments, so this seems like a good opportunity to <br>
> rationalize things. So perhaps I'd like to "Remove all attachments from <br>
> emails older than 2 years, in the .Sent directory", or "Attachments over 10Mb <br>
> anywhere in the mail tree"<br>
><br>
> I've found the <a href="http://strip_attachments.pl" rel="noreferrer" target="_blank">strip_attachments.pl</a> script here <br>
> <<a href="https://fossies.org/linux/Mail-Box/examples/strip-attachments.pl" rel="noreferrer" target="_blank">https://fossies.org/linux/Mail-Box/examples/strip-attachments.pl</a>> which <br>
> works fine on mbox (as tested on my local Thunderbird mboxes), but not on <br>
> maildir which is on the dovecot server. My Perl isn't strong enough to <br>
> re-purpose it.<br>
<br>
It you have anything that works on mbox, it will probably work on Maildir<br>
as each file can be considered a single message mbox.  You can combine<br>
the script with<br>
<br>
        find ~user/MailDir -type f ... -exec /path/to/mbox-strip {} \;<br>
<br>
The ... can be replaced with more file tests (like minimum size or age<br>
or only within */cur/) to cut down on processing.<br>
<br>
I wrote a gawk script to slim down a multi-Gb Outlook mbox<br>
for a user, but it wasn't really complicated, just matching for<br>
/^Content-Transfer-Encoding:.*base64/i header (virtually all bulky data<br>
will be encoded this way), buffering the base64 data part, then outputting<br>
it if it was small, or deleting/replacing/extracting it otherwise.<br>
<br>
It was a one-off discarded tool but I can hunt for it if you're hard up.<br>
<br>
> I've looked at ripmime and mpack/munpack, and although they seem like useful <br>
> tools to do the job of deconstructing the mail into its constituent parts, it <br>
> doesn't seem to help in re-building the email. I think they could be used <br>
> with a bit of study into mail MIME structure, and used with a helper script.<br>
><br>
> So before I take a deep dive into scripting my own solution, I just wanted to <br>
> check if anyone else on the list has been through this and has some resources <br>
> or pointers they can share, or maybe even someone to tell me "Duh, you can do <br>
> it with doveadm of course".<br>
<br>
MIMEDefang may help.<br>
<br>
Joseph Tam <<a href="mailto:jtam.home@gmail.com" target="_blank">jtam.home@gmail.com</a>><br>
</blockquote></div>