summaryrefslogtreecommitdiff
path: root/split-mailman-mails-and-discard-and-save
diff options
context:
space:
mode:
Diffstat (limited to 'split-mailman-mails-and-discard-and-save')
-rwxr-xr-xsplit-mailman-mails-and-discard-and-save13
1 files changed, 8 insertions, 5 deletions
diff --git a/split-mailman-mails-and-discard-and-save b/split-mailman-mails-and-discard-and-save
index daa4047..e682f60 100755
--- a/split-mailman-mails-and-discard-and-save
+++ b/split-mailman-mails-and-discard-and-save
@@ -237,11 +237,14 @@ def process_mail(filename)
else
store_in_maildir(MAIL_PROCESSED_FORWARDED, message)
- headers = message.header.to_s
- body = message.body.to_s
- new_headers = headers.gsub(/^Delivered-To:/, 'X-OLD-Delivered-To:')
- new_message = RMail::Parser.read new_headers + "\n" + body
- store_in_maildir(OUTBOX_HUMANS, new_message)
+ # rewrite Delivered-To to X-OLD-Delivered-To to avoid mail loop warnings.
+ m = message.to_s.split(/\n/)
+ new_m = []
+ while m.size > 0 and line = m.shift != ""
+ m << line.gsub(/^Delivered-To:/, 'X-OLD-Delivered-To:')
+ end
+ new_m.concat m
+ store_in_maildir(OUTBOX_HUMANS, m.join("\n"))
end
else
STDERR.puts "Unknown action #{ACTION}!"