Evaggelos Balaskas - System Engineer

The sky above the port was the color of television, tuned to a dead channel

Blog
Posts
Wiki
About
Contact
rss.png twitter linkedin github gitlab profile for ebal on Stack Exchange

The return of enter key »
  -  
« 1η Συνάντηση www.archlinux.gr
Jul
09
2010
Remove duplicate mails from mailbox
Posted by ebal at 09:15:08 in wiki, planet_ellak, code

A couple of days back, i wrote a perl script to remove backscatter mails from a mailbox file using perl.
You can take a look on the code here:
Remove backscatter mails from mailbox.

Today i wanted to remove the duplicate mails from a mailbox. I’ve used, till now, mergembox, but i wanted to write something on my own.

So, without further ado:

  1 #!/usr/bin/perl -w
  2 
  3 use strict;
  4 use Mail::MboxParser;
  5 
  6 die $0 =~ /([^/]+)$/, "  >  n" unless @ARGV == 1;
  7 
  8 my $mb = Mail::MboxParser->new($ARGV[0]);
  9 my $field = "message-id";
 10 my @MessageIds = ();
 11 
 12 while ( my $msg = $mb->next_message ) {
 13 
 14         my @msgid = split(/@/, $msg->header->{$field});
 15          
 16         if ( grep(/$msgid[0]/, @MessageIds ) ) {
 17                 warn "Duplicate Message-ID: " . $msgid[0] . ", already exists ! n" ;
 18         } else { 
 19                 push( @MessageIds, $msgid[0] );
 20                 print $msg."n" ;
 21         }
 22 }

You can see the code with syntax highlight here:
Remove duplicate mails from mailbox

The return of enter key »
  -  
« 1η Συνάντηση www.archlinux.gr

Search

Admin area

  • Login

Categories

  • blog
  • wiki
  • pirsynd
  • midori
  • books
  • archlinux
  • movies
  • xfce
  • code
  • beer
  • planet_ellak
  • planet_Sysadmin
  • microblogging
  • UH572
  • KoboGlo
  • planet_fsfe

Archives

  • 2025
    • April
    • March
    • February
  • 2024
    • November
    • October
    • August
    • April
    • March
  • 2023
    • May
    • April
  • 2022
    • November
    • October
    • August
    • February
  • 2021
    • November
    • July
    • June
    • May
    • April
    • March
    • February
  • 2020
    • December
    • November
    • September
    • August
    • June
    • May
    • April
    • March
    • January
  • 2019
    • December
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2018
    • December
    • November
    • October
    • September
    • August
    • June
    • May
    • April
    • March
    • February
    • January
  • 2017
    • December
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2016
    • December
    • November
    • October
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2015
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • January
  • 2014
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2013
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2012
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2011
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2010
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2009
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
Ευάγγελος.Μπαλάσκας.gr

License GNU FDL 1.3 - CC BY-SA 3.0