use PublicInbox::Git;
use PublicInbox::Import;
use Email::MIME;
-use Email::Address;
+use Email::MIME::ContentType;
+$Email::MIME::ContentType::STRICT_PARAMS = 0; # user input is imperfect
+use PublicInbox::Address;
use IPC::Run qw/run/;
my $train = shift or die "usage: $usage\n";
if ($train !~ /\A(?:ham|spam)\z/) {
# get all recipients
my %dests;
foreach my $h (qw(Cc To)) {
- foreach my $recipient (Email::Address->parse($mime->header($h))) {
- $dests{lc($recipient->address)} = 1;
+ my $val = $mime->header($h) or next;
+ foreach my $email (PublicInbox::Address::emails($val)) {
+ $dests{lc($email)} = 1;
}
}
my $git = PublicInbox::Git->new($git_dir);
# We do not touch GIT_COMMITTER_* env here so we can track
# who trained the message.
- my $name = $ENV{GIT_COMMITTER_NAME} || $dst->{listname};
+ my $name = $ENV{GIT_COMMITTER_NAME} || $dst->{inbox};
my $email = $ENV{GIT_COMMITTER_EMAIL} || $recipient;
my $im = PublicInbox::Import->new($git, $name, $email);