Home: General Discussions: General Questions:
Access binary data from http

New User

Jun 10, 2009, 10:51 AM

Views: 9024
Access binary data from http

I have a .NET application which make a zip file and send it
to PERL script in binary stream through http, i have to attach that zip file and email to a specified address. but i am unable to attach that file.

can anybody help me ... its very urgent.


Jun 10, 2009, 11:56 AM

Views: 9022
Re: [saaam03] Access binary data from http

If you are using perl to send the email, look into getting MIME::Lite installed and using it to send the attached file.

New User

Jun 10, 2009, 10:20 PM

Views: 9017
Re: [KevinR] Access binary data from http

Actually i m unable to process that binary data ... dont have any problem with mail.

Veteran / Moderator

Jun 11, 2009, 7:01 AM

Views: 9009
Re: [saaam03] Access binary data from http

Show us what you've tried.

New User

Jun 11, 2009, 9:42 AM

Views: 9006
Re: [FishMonger] Access binary data from http

use core qw ( CGI_USER ) ;
use utils::MailMime;
my $osysconfig = sysconfig->new({MINIMAL => '1'});
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );

my $params = CGI::Vars();
use Archive::Zip qw( :ERROR_CODES );
#print "Content-type:text/html\n\n";
print header;

my $MAILTO = 'abc@xyz.net';

my $MAILFROM = 'abc@xyz.net';

my $smtp = $osysconfig->GetSMTPServer();
my $port = $osysconfig->GetSMTPServerPort();
my $host = hostname();
my $omailer = MailMime->new( { SMTPSERVER=> $smtp, SMTPSERVERPORT => $port } );

# $$params{LOG} ---- this is the binary zipped file which i have to attached with email.
if (($$params{LOG}) and (not $$params{REMOTEFILE}))
$file = '/tmp/tmp.zip' ;
#use Archive::Zip;

#my $zip = new Archive::Zip;

#my $data = "$$params{LOG}";

#print FILE $$params{LOG};
#close FILE;

#give read write permission to all
#`chmod 666 $file`;
my $fh;
#open ( $fh , '>', $file ) or $core::logger->Die( 'Error opening file', $@);

#print $fh "$$params{LOG}";
#if (defined $$params{LOG});
#print $fh $$params{SCREENSHOT}
#if (defined $$params{SCREENSHOT});
close $fh;


my $text = "Application logs are attached\n\nDetails of the sender:\n\nLogin:$$params{LOGIN} \nServer Address: $host";
$text .= "\n\n$$params{USERTEXT}" if ( $$params{USERTEXT} );
my %Ret;

if (($$params{LOG}) and (not $$params{REMOTEFILE}))
%Ret = $omailer->SendFile({

From => $MAILFROM,
To => $MAILTO,
Subject => "Application Report from $$params{LOGIN} on $host",
Text => $text ,
Path => $file,
Type => 'binary'
}) or die "Could not send mail [$!]";
if ( $@ )
print "$@\n";
print "1";

what i have tried is commented code.