2
« : 18 Марта 2001, 03:56:38 »
Помогите пожалуйста, никак не получается отослать письмо с вложеной картинкой, для этого я использую модуль MIME::Lite, вайл, максимум что получается, так это отслать файл размером 0 байт.
Вот код:
----------------------------------------------
#!/usr/bin/perl -w
########################################
# **************************************
# VARIABLES
# **************************************
my($path);
$path="../cgi-bin";
########################################
use strict;
use CGI::Carp qw (fatalsToBrowser);
use CGI qw/:standard/;
require "$path/Lite.pm";
$CGI::POST_MAX=131072;
###################
my($subject,$from,$to,$upfile1,$message);
if (param())
{
$subject=param(\'subject\');
$subject=~s/</g;
$from=param(\'from\');
$from=~s/@/\\@/g;
$upfile1=param(\'upfile1\');
$upfile1=~s/\\\\/\\//g;
$message=param(\'message\');
$message=~s/</g;
$to=param(\'to\');
$to=~s/@/\\@/g;
}
if ($subject eq "" || $subject eq " " || $from eq "" || $from eq " " || $to eq "" || $to eq "")
{
print "Content-type: text/html
";
print "You didn\'t fill from, to, or subject
";
}
else
{
######### SEND MESSAGE BEGIN ###################
# $upfile1=$ARGV[0] || die "missing path to GIF";
my $msg = MIME::Lite->new(From => "$from",
To =>"$to",
Subject =>"$subject",
Type =>\'Text\',
Data =>"$message");
unless ($upfile1 eq "")
{
$path=$upfile1;
$msg->attach(
Encoding =>\'base64\',
Path =>$path,
Type =>\'image/gif\',
Filename => \'logo.gif\'
);
}
MIME::Lite->send(\'sendmail\', \'/usr/sbin/sendmail -t -oi\');
$msg->send;
########### SEND MESSAGE END ####################
print "Content-type: text/html
";
print "The message was sent
";
}
----------------------------------------------------------
Большое спасибо