Solved

adding mail attachment to script

Posted on 2007-12-06
4
474 Views
Last Modified: 2008-04-25
hi there
right now we cant send an attachment can anyone please modify it
thanks

#!D:\Perl\bin  -w


# if you change your mail server, you may need to change the From:
# address below.

# my $server = 'mail.aa.com';
my $server = 'exchange.aa.com:25';
my $this_machine = 'sottnex24';
my ($to, $subject, $file_path, $file, $body);

use Mail::Sendmail;

if ($server) {
    $mail{Smtp} = $server;
}


# parse parameters

if ( @ARGV == 3 )
{
      ($to, $subject, $body) = @ARGV;
}
elsif ( @ARGV == 5 )
{
      ($to, $subject, $file_path, $file, $body) = @ARGV;
}
elsif (@ARGV < 3)
{
      print "Usage: to | subject [file_path | file ] | body\n";
      exit;
}


$mail{From} = 'Nexus Intel Server <+DW_team@aa.com>';
$mail{To}   = $to;
$mail{Subject} = $subject;
$mail{Message} .= "$body \n
Sent from $this_machine \n
At: " . Mail::Sendmail::time_to_date() . "\n";

# Go send it

if (sendmail %mail) {
    # print "content of \$Mail::Sendmail::log:\n$Mail::Sendmail::log\n";
    if ($Mail::Sendmail::error)
      {
       print "content of \$Mail::Sendmail::error:\n$Mail::Sendmail::error\n";
      }
}
else
{
    print "\n!Error sending mail:\n$Mail::Sendmail::error\n";
}
0
Comment
Question by:nav29
4 Comments
 
LVL 2

Expert Comment

by:zby
ID: 20426948
0
 
LVL 17

Expert Comment

by:mjcoyne
ID: 20435748
0
 

Author Comment

by:nav29
ID: 20435761
frnds
i am not good at perl at all
this perl script was written by sumone it do send mail not mail attachment
if u guys have a sec can u please attach tht code to the script above to send attachment with mail
thanks
0
 
LVL 1

Accepted Solution

by:
r_jony earned 500 total points
ID: 20451970
This is the code snippet that you would like to use in your script, using your own variables



use MIME::Lite;
 
#This indicates that we want to use smtp
MIME::Lite->send('smtp', $ipaddress, Timeout=>60, Port=>2525) or abort "failed"; 
 
send_mime_message($username,{Subject => 'hello there', Type => 'application/octet-stream', Path =>"/tmp/binary.$$", Disposition => 'attachment'});
 
#Subroutines to send the messages with the attachment
sub send_mime_message
{
    my $username=shift;
    #The parts to construct, anonymous arrays of anonymous hash. parts[0] always contain header info,
    #plus mail data if not sending multipart mail
    my $parts = [@_];
    my $header = ${$parts}[0];
 
    defined(${$header}{'From'}) || (${$header}{'From'} = "abc\@xyz.com");
    defined(${$header}{'To'}) || (${$header}{'To'} = "cd\@xyz.com");
    defined(${$header}{'Subject'}) || (${$header}{'Subject'} = "message here");
 
    my $msg = MIME::Lite->new( %{$header});
 
    abort "no object " if !defined($msg);
    $msg->send() || fail "Couldn't send message!";
}

Open in new window

0

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

I have been pestered over the years to produce and distribute regular data extracts, and often the request have explicitly requested the data be emailed as an Excel attachement; specifically Excel, as it appears: CSV files confuse (no Red or Green h…
A year or so back I was asked to have a play with MongoDB; within half an hour I had downloaded (http://www.mongodb.org/downloads),  installed and started the daemon, and had a console window open. After an hour or two of playing at the command …
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question