#!/bin/perl use strict; use warnings; use Email::Send; use Email::Send::Gmail; use Email::Simple::Creator; my $from = undef; my $to = undef; my $subject = undef; my $body = undef; my $username = undef; my $password = undef; my $numArgs = $#ARGV + 1; if($numArgs < 6) { print "Less number of arguments than expected...\n"; print "Execute as - EmailSend.exe from to subject body_file username password\n"; print "Eg: EmailSend.exe venkatesan.gangadharan@gmail.com g.venkatesan@level3.com Test body.txt venkatesan.gangadharan@gmail.com xxxx"; exit(0); } elsif($numArgs > 6) { print "More number of arguments than expected...\n"; print "Execute as - EmailSend.exe from to subject body_file username password\n"; print "Eg: EmailSend.exe venkatesan.gangadharan@gmail.com g.venkatesan@level3.com Test body.txt venkatesan.gangadharan@gmail.com xxxx"; exit(0); } $from = $ARGV[0]; $to = $ARGV[1]; $subject = $ARGV[2]; $body = $ARGV[3]; $username = $ARGV[4]; $password = $ARGV[5]; my $email = Email::Simple->create( header => [ From => $from, To => $to, Subject => $subject, ], body => $body, ); my $sender = Email::Send->new( { mailer => 'Gmail', mailer_args => [ username => $username, password => $password, ] } ); eval { $sender->send($email) }; die "Error sending email: $@" if $@; #### Less number of arguments than expected... Execute as - EmailSend.exe from to subject body_file username password Eg: EmailSend.exe venkatesan.gangadharan@gmail.com g.venkatesan@level3.com Test body.txt venkatesan.gangadharan@gmail.com xxxx