Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Send email (and attachments) with Outlook

by RhetTbull (Curate)
on Sep 21, 2001 at 15:30 UTC ( #113851=sourcecode: print w/replies, xml ) Need Help??
Category: Win32
Author/Contact Info Rhet Turnbull
RhetTbull at
Description: Send an email and, optionally, attachments using Win32::OLE and Microsoft Outlook.
#!/cygdrive/c/Perl/bin/perl.exe -w

#Win32 perl script to send an email and (optional) attachments via Mic
+rosoft Outlook

use warnings;
use strict;

use Win32::OLE;

#get parameters from command line
#e.g. "get rich quick!" "send me m
+oney and I make you rich!" "" "c:\melissa.exe"
#first (and only required param) is "To:" address
#second is subject
#third is text for message body 
#fourth is CC: address (you can leave this blank, e.g  "" on the comma
+nd line)
#rest are file attachments
#make sure you give the FULL path to the attachment or it may fail

my $to = shift || die "required parameter (to address) missing";
my $subject = shift;
$subject = "" if not defined $subject;
my $body = shift;
$body = "" if not defined $body;
my $cc = shift;
$cc = "" if not defined $cc;

#get new Outlook instance
my $mail = new Win32::OLE('Outlook.Application');
die "Unable to start Outlook instance: $!" if !defined $mail;

my $item = $mail->CreateItem(0);
die "Unable to create mail item: $!" if !defined $item;

$item->{'To'} = $to; 
$item->{'CC'} = $cc;
$item->{'Subject'} = $subject;
$item->{'Body'} = $body; 

#rest of args are file attachments
foreach my $attach (@ARGV)
    #make sure the attachment is really there
    die "Missing attachment $attach: $!" if !-e $attach;

    my $attachments = $item->Attachments();

#send it

my $error = Win32::OLE->LastError();
print STDERR "Win32::OLE error: $error" if $error;

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://113851]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (1)
As of 2021-02-25 02:55 GMT
Find Nodes?
    Voting Booth?

    No recent polls found