#!/usr/bin/perl -w use Mail::Internet; require Mail::Address; use Mail::Header; use File::Find; my $dir = "/var/spool/cyrus/mail/domain/r/domain.tld"; find(\&find_emails => $dir); sub find_emails { return unless /\A[0-9]\.\z/; return unless -f $File::Find::name; process_an_email($File::Find::name); return; # print $File::Find::name, "\n"; } $fecha =`date +%F--%k:%M`; sub process_an_email { my ($file) = @_; open(FILE, $file); $mi_obj = new Mail::Internet(\*FILE); close(FILE); $mi_obj->add("Procesado-por-script", "Si"); $mi_obj->add("Fecha-de-Procesamiento", \$fecha); $mi_obj->head->replace("Subject", "Tengo hambre....."); @cuerpo = ("\nEsta es una prueba... reemplazando el cuerpo\n"); $mi_obj->body( \@cuerpo); open(STDOUT, '>', "$file\.new"); $mi_obj->print_header(\*STDOUT); $mi_obj->print_body(\*STDOUT); chown(104, 8, "$file\.new"); }