90 |
debug => 1, |
debug => 1, |
91 |
verbose => 1, |
verbose => 1, |
92 |
hash_len => 8, |
hash_len => 8, |
93 |
|
full_hostname_in_aliases => 0, |
94 |
); |
); |
95 |
|
|
96 |
Parametar C<hash_len> defines length of hash which will be added to each |
Parametar C<hash_len> defines length of hash which will be added to each |
97 |
outgoing e-mail message to ensure that replies can be linked with sent e-mails. |
outgoing e-mail message to ensure that replies can be linked with sent e-mails. |
98 |
|
|
99 |
|
C<full_hostname_in_aliases> will turn on old behaviour (not supported by Postfix |
100 |
|
postalias) to include full hostname in aliases file. |
101 |
|
|
102 |
|
|
103 |
=cut |
=cut |
104 |
|
|
105 |
sub new { |
sub new { |
106 |
my $class = shift; |
my $class = shift; |
107 |
my $self = {@_}; |
my $self = {@_}; |
108 |
bless($self, $class); |
bless($self, $class); |
109 |
|
|
110 |
croak "need at least dsn" unless ($self->{'dsn'}); |
croak "need at least dsn" unless ($self->{'dsn'}); |
426 |
|
|
427 |
my $m = Email::Simple->new($message_text) || croak "can't parse message"; |
my $m = Email::Simple->new($message_text) || croak "can't parse message"; |
428 |
|
|
429 |
unless( $m->header('Subject') ) { |
warn "message doesn't have Subject header\n" unless( $m->header('Subject') ); |
|
warn "message doesn't have Subject header\n"; |
|
|
return; |
|
|
} |
|
430 |
|
|
431 |
my $lists = $self->{'loader'}->find_class('lists'); |
my $lists = $self->{'loader'}->find_class('lists'); |
432 |
|
|
558 |
my $m_obj = Email::Simple->new($msg) || croak "can't parse message"; |
my $m_obj = Email::Simple->new($msg) || croak "can't parse message"; |
559 |
|
|
560 |
$m_obj->header_set('Return-Path', $from_email_only) || croak "can't set Return-Path: header"; |
$m_obj->header_set('Return-Path', $from_email_only) || croak "can't set Return-Path: header"; |
561 |
$m_obj->header_set('Sender', $from_email_only) || croak "can't set Sender: header"; |
#$m_obj->header_set('Sender', $from_email_only) || croak "can't set Sender: header"; |
562 |
$m_obj->header_set('Errors-To', $from_email_only) || croak "can't set Errors-To: header"; |
$m_obj->header_set('Errors-To', $from_email_only) || croak "can't set Errors-To: header"; |
563 |
$m_obj->header_set('From', $from_addr) || croak "can't set From: header"; |
$m_obj->header_set('From', $from_addr) || croak "can't set From: header"; |
564 |
$m_obj->header_set('To', $to) || croak "can't set To: header"; |
$m_obj->header_set('To', $to) || croak "can't set To: header"; |
871 |
$target .= qq#"| cd $self_path && ./sender.pl --inbox='$list'"#; |
$target .= qq#"| cd $self_path && ./sender.pl --inbox='$list'"#; |
872 |
|
|
873 |
# remove hostname from email to make Postfix's postalias happy |
# remove hostname from email to make Postfix's postalias happy |
874 |
$email =~ s/@.+//; |
$email =~ s/@.+// if (not $self->{full_hostname_in_aliases}); |
875 |
|
|
876 |
if ($a->exists($email)) { |
if ($a->exists($email)) { |
877 |
$a->update($email, $target) or croak "can't update alias ".$a->error_check; |
$a->update($email, $target) or croak "can't update alias ".$a->error_check; |
879 |
$a->append($email, $target) or croak "can't add alias ".$a->error_check; |
$a->append($email, $target) or croak "can't add alias ".$a->error_check; |
880 |
} |
} |
881 |
|
|
882 |
#$a->write($aliases) or croak "can't save aliases $aliases ".$a->error_check; |
# $a->write($aliases) or croak "can't save aliases $aliases ".$a->error_check; |
883 |
|
|
884 |
return 1; |
return 1; |
885 |
} |
} |
1121 |
|
|
1122 |
if ($_[0] !~ m/^HASH/) { |
if ($_[0] !~ m/^HASH/) { |
1123 |
return $nos->add_member_to_list( |
return $nos->add_member_to_list( |
1124 |
list => $_[0], email => $_[1], name => $_[2], ext_id => $_[4], |
list => $_[0], email => $_[1], name => $_[2], ext_id => $_[3], |
1125 |
); |
); |
1126 |
} else { |
} else { |
1127 |
return $nos->add_member_to_list( %{ shift @_ } ); |
return $nos->add_member_to_list( %{ shift @_ } ); |
1221 |
|
|
1222 |
if ($_[0] !~ m/^HASH/) { |
if ($_[0] !~ m/^HASH/) { |
1223 |
die "need at least list or email" unless (scalar @_ < 2); |
die "need at least list or email" unless (scalar @_ < 2); |
1224 |
return $nos->received_messages( |
return \@{ $nos->received_messages( |
1225 |
list => $_[0], email => $_[1], |
list => $_[0], email => $_[1], |
1226 |
from_date => $_[2], to_date => $_[3], |
from_date => $_[2], to_date => $_[3], |
1227 |
message => $_[4] |
message => $_[4] |
1228 |
); |
) }; |
1229 |
} else { |
} else { |
1230 |
my $arg = shift; |
my $arg = shift; |
1231 |
die "need list or email argument" unless ($arg->{'list'} || $arg->{'email'}); |
die "need list or email argument" unless ($arg->{'list'} || $arg->{'email'}); |
1232 |
return $nos->received_messages( %{ $arg } ); |
return \@{ $nos->received_messages( %{ $arg } ) }; |
1233 |
} |
} |
1234 |
} |
} |
1235 |
|
|