-# Copyright (C) 2013-2020 all contributors <meta@public-inbox.org>
+# Copyright (C) 2013-2021 all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
#
# For the -mda script (mail delivery agent)
package PublicInbox::MDA;
use strict;
use warnings;
-use Email::Simple;
use PublicInbox::MsgTime;
+use PublicInbox::Address;
use constant MAX_SIZE => 1024 * 500; # same as spamc default, should be tunable
use constant MAX_MID_SIZE => 244; # max term size - 1 in Xapian
} @address;
foreach my $line ($simple->header('Cc'), $simple->header('To')) {
- my @addrs = ($line =~ /([^,<\s]+\@[^,>\s]+)/g);
+ my @addrs = PublicInbox::Address::emails($line);
foreach my $addr (@addrs) {
if ($ok{lc(__drop_plus($addr))}) {
return 1;
}
sub inboxes_for_list_id ($$) {
- my ($klass, $config, $simple) = @_;
+ my ($klass, $pi_cfg, $simple) = @_;
# newer Email::Simple allows header_raw, as does Email::MIME:
my @list_ids = $simple->can('header_raw') ?
my @dests;
for my $list_id (@list_ids) {
$list_id =~ /<[ \t]*(.+)?[ \t]*>/ or next;
- if (my $ibx = $config->lookup_list_id($1)) {
+ if (my $ibx = $pi_cfg->lookup_list_id($1)) {
push @dests, $ibx;
}
}