#!/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. send_outlook.pl spam_me@hotmail.com "get rich quick!" "send me m
+oney and I make you rich!" "1337spammer@hotmail.com" "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();
$attachments->Add($attach);
}
#send it
$item->Send();
my $error = Win32::OLE->LastError();
print STDERR "Win32::OLE error: $error" if $error;
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|