Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision ced247a9

Von Martin Alpers vor 4 Monaten hinzugefügt

  • ID ced247a976e396d645ae73ae5321a9211fe9ee8d
  • Vorgänger 48fa6dcc
  • Nachfolger fa4bbc4f

added some better info in case of failed import of emails due to parsing problems

Unterschiede anzeigen:

SL/IMAPClient.pm
use Encode qw(encode decode);
use Encode::IMAPUTF7;
use SL::Locale;
use Try::Tiny;
use SL::SessionFile;
use SL::Locale::String qw(t8);
......
next unless @new_msg_uids;
$email_import ||= $self->_create_email_import(folder_path => $params{base_folder_path})->save();
foreach my $new_uid (@new_msg_uids) {
my $new_email_string = $self->{imap_client}->message_string($new_uid);
my $email = Email::MIME->new($new_email_string);
my $email_journal = $self->_create_email_journal(
email => $email,
email_import => $email_import,
uid => $new_uid,
folder_string => $folder_string,
folder_uidvalidity => $folder_uidvalidity,
email_journal_params => $params{email_journal_params},
);
my $email;
try {
$email = Email::MIME->new($new_email_string);
my $email_journal = $self->_create_email_journal(
email => $email,
email_import => $email_import,
uid => $new_uid,
folder_string => $folder_string,
folder_uidvalidity => $folder_uidvalidity,
email_journal_params => $params{email_journal_params},
);
$email_journal->save();
} catch {
my ($headers, $body) = split /\n\n/, $new_email_string;
my @subjects = grep {/^subject: +/i} (split /\n/, $headers);
die t8("Error while attempting to parse email.\nUID: #1\n#2\nError reported: #3", $new_uid, @subjects[0], $_)
unless $params{skip_broken_mime_mails};
}
}
}
});

Auch abrufbar als: Unified diff