i have some example of code i cote
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;
its package for parse email
sub mailer
{
my($r,$attachment_file) = @_;
my $msgbody_file = read_file( $r->{param}->{body} );
my $attachment_data = encode_base64( read_file( $attachment_file, 1 ))
+;
my $ft = File::Type->new();
my $type_from_file = $ft->checktype_filename($attachment_file);
my $boundary = "====" . time . "====";
my$mail_content_type = qq(multipart/mixed; boundary="$boundary");
$boundary = '--'.$boundary;
my$mail_body = <<END_OF_BODY;
$boundary
$mail_content_type
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
$msgbody_file
$boundary
Content-Type: $type_from_file ; name=$attachment_file
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=$attachment_file
$attachment_data
$boundary--
END_OF_BODY
my$mailer = Email::Send->new( {
mailer => 'SMTP::TLS',
mailer_args => [
Host => $r->{config}->{smtpserver},
Port => 587,
User => $r->{user},
Password => $r->{perlwebmail}->{user}->{password},
Hello => $r->{config}->{smtpserver},
]
} );
my$email = Email::Simple->create(
header => [
From => $r->{user}->email,
To => $r->{param}->{to},
Cc => $r->{param}->{cc},
Subject => $r->{param}->{subject},
],
body => $mail_body,
);
eval { $mailer->send($email) };
die "Error sending email: $@" if $@;
return retrieve_message($r);
}
best things and more exemple are welcome to upper quality of code many return are welcome best explication for the studier and studients
its the code of jaos i studied him