Показать сообщение отдельно
Старый 05.05.2007, 19:32   #1
Неактивный пользователь
 
Аватар для proparket
 
Пол:Мужской
Регистрация: 21.10.2005
Сообщений: 41
Репутация: 54
По умолчанию Помогите кто может!

Я делал простую форму заказа тура со страницы сайта (его еще нет). С формой получилось все ОК, а вот скрипт перла, который правильно отправляет данные из форм на email владельца хромает на все четыре. Нет все из форм он отправляет и прописывает и дату и IP клиента (или какого спамера), а вот письмо присылается с кракозябрами в месте "ОТ КОГО" у которых на конце добавлено еще и /@ххххх.ru/ (последнее ххххх.ru это мой хостер). Заметно, что собрана из кусков да и еще и с ошибками.
Может кто более умный посмотрел бы сей опус. А?
================================================== ========

#!/usr/bin/perl

$mailprog = '/usr/lib/sendmail';
$thank_url = 'http://хххххххххххх.ru/thankyou.htm';
$archivefile = 'contact.txt';
$toname = 'Для хххххххх заказ';
$tomail = 'ххххххх@rambler.ru';
$subject = 'Клиент пришел с сайта ххххххххх';

@months = ("Января","Февраля","Марта","Апреля","Мая","Июн я",
"Июля","Августа","Сентября","Октября","Ноября" ,"Де кабря");
$at = "в";

$timeoffset = +4;
$timezone = '(время московское)';

read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

@pairs = split(/&/, $buffer);

foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);

$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;

$FORM{$name} = $value;
}

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isd st) = gmtime(time+$timeoffset*3600);
$time = sprintf("%02d:%02d",$hour,$min);
$year += 1900;
$date = "$mday $months[$mon] $year $at $time $timezone";


open(HANDLE,"|$mailprog -t") || die "Не возможно открыть $mailprog!\n";
&send_message;
close(HANDLE);

open(HANDLE, ">>$archivefile") || die "Не возможно открыть архив для записи: $!";
&send_message;
print HANDLE "\n=======================================\n\n ";
close(HANDLE);

print "Location: $thank_url\n\n";;

sub send_message {
print HANDLE "To: $toname <$tomail>\n";
print HANDLE "From: $FORM{'name'}\n";
print HANDLE "Тема письма: $subject\n";
print HANDLE "$date\n";
print HANDLE "Это сообщение пришло со страницы $ENV{'HTTP_REFERER'}.\n";
print HANDLE "IP адрес пользователя: $ENV{'REMOTE_ADDR'}\n\n";
print HANDLE "Этот клиент хочет: $FORM{'tur'}\n";
print HANDLE "В какой стране: $FORM{'strana'}\n";
print HANDLE "Мои координаты: $FORM{'contact'}\n";
print HANDLE "\n ==========Дополнительные пожелания==========\n";
print HANDLE "$FORM{'message'}\n";
print HANDLE "$FORM{'name'}";
print HANDLE "\n ================Конец заказа================\n";
}
__________________
Был, есть, и буду есть! Пить тоже буду.
proparket вне форума
 
Ответить с цитированием Вверх
 
Время генерации страницы 0.09995 секунды с 10 запросами