package PerlWebmail::Message; use base qw(Mail::Internet); my $crlf = qr/\012|\015\012|\015/; my $quote_prefix = '>'; sub new { my $class = shift; $_ = Mail::Internet->new(\*STDIN); my $self = $class->SUPER::new(@_); return $self; } sub from { my ($self, $from) = @_; if ($from) { $self->add(From => $from); } $self->add(From => $from); } sub replyto { my ($self,$replyto) = @_; if ($replyto) { $self->add(Reply-To => $replyto); } $self->add(Reply-To => $replyto); } sub references { my ($self,$references) = @_; if ($references) { $self->add(References => $references); } $self->add(References => $references); } sub inreplyto { my ($self,$inreplyto) = @_; if ($inreplyto) { $self->add(In-Reply-To => $inreplyto); } $self->add(In-Reply-To => $inreplyto); } sub to { my ($self, $to) = @_; if ($to) { $self->add(To => $to); } $self->add(To => $to); } sub cc { my ($self, $cc) = @_; if ($cc) { $self->add(Cc => $cc); } $self->add(Cc => $cc); } sub bcc { my ($self, $bcc) = @_; if ($cc) { $self->add(Bcc => $bcc); } $self->add(Bcc => $bcc ); } sub subject { my ($self, $subject) = @_; if ($subject) { $self->add(Subject => $subject); } $self->add(Subject => $subject ); } sub body { my ($self, $body) = @_; if ($body) { $self->body($body); } $self->body($body); } sub asString { shift->as_string; } #my $crlf = qr/\x0a\x0d|\x0d\x0a|\x0a|\x0d/; #sub _strip_sig { reverse +(split /$crlf\s*--$crlf/o, reverse(pop), 2)[1] } sub quote { my $body = shift; $body =~ s/($crlf)/$1$quote_prefix /g; "\n\n$quote_prefix $body"; } 1;