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 = <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); }