subject => $subject
});
eval {
- $m->sent_date(DateTime::Format::Mail->
- parse_datetime($entity->head->get('Date',0)));
+ my $date = DateTime::Format::Mail->
+ parse_datetime($entity->head->get('Date',0));
+ if (abs($date->offset) >= 60 * 60 * 12) {
+ $date = $date->set_time_zone('UTC');
+ }
+ $m->sent_date($date);
};
my $spam = $entity->head->get('X-Spam-Status',0)//'';
if ($spam=~ /score=([\d\.]+)/) {
my @cors;
for my $type (keys %corr) {
for my $addr (@{$corr{$type}}) {
+ my $cor = $s->resultset('Correspondent')->
+ get_correspondent_id($addr);
+ next unless defined $cor;
push @cors,
- {correspondent => $s->resultset('Correspondent')->
- get_correspondent_id($addr),
+ {correspondent => $cor,
correspondent_type => $type,
};
}
$m->update();
$s->txn_do(sub {
$m->message_correspondents()->delete();
- $m->add_to_message_correspondents(@cors);
+ $m->add_to_message_correspondents(@cors) if
+ @cors;
}
);
}