#!/usr/bin/perl use strict; use warnings; use Email::Send; use Email::Send::Gmail; use Email::Simple::Creator; my $email = Email::Simple->create( header => [ From => 'myemail@gmail.com', To => 'recipient@gmail.com', Subject => 'Subject', ], body => 'Hello World!', ); my $sender = Email::Send->new( { mailer => 'Gmail', mailer_args => [ username => 'myemail@gmail.com', password => 'password', ] } ); eval { $sender->send($email) }; die "Error sending email: $@" if $@; #### # mostly cribbed from Email::Send::SMTP sub send { my ( $class, $message, @args ) = @_; my %args = @args; my ( $username, $password ) = @args{qw[username password]}; my $smtp = Net::SMTP::SSL->new( 'smtp.gmail.com', Port => 465, Debug => 0, ) || croak( 'Email::Send::Gmail: error connecting to server smtp.gmail.com'); ...