sub make_and_send_email{ my ($from, $to,$subject,$message, $path) =@_; use Net::SMTP::TLS; my $un='myun'; my $pw='mypwd'; my $mh='smtp.gmail.com'; my $pt=25; # or 587, 465, etc depending on what gmail uses my $mailer = new Net::SMTP::TLS( $mh, Port => $pt, User => $un, Password => $pw, Timeout => 60, ) or die "Cannot create a TLS mailer instance!\n"; $mailer->mail($from); $mailer->to($to); $mailer->data(); my $msg = MIME::Lite->new( From => $from, 'Reply-to' => $from, To => $to, Subject => $subject, Type => 'multipart/related' ) or die "Cannot create a new email instance!\n"; $msg->attach( Type => 'TEXT', Data => $message, ) or die "Error adding TXT: $!\n"; $msg->attach( Type => 'aplication/pdf', Path => $path, Disposition => 'attachment' ) or die "Error adding PDF: $!\n"; $mailer->datasend($msg->as_string); $mailer->dataend(); $mailer->quit(); }