Правила Форума редакция от 22.06.2020 |
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
|
Опции темы | Опции просмотра | Language |
05.05.2007, 18:32 | #1 |
Помогите кто может!
Я делал простую форму заказа тура со страницы сайта (его еще нет). С формой получилось все ОК, а вот скрипт перла, который правильно отправляет данные из форм на 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"; }
__________________
Был, есть, и буду есть! Пить тоже буду. |
|
Опции темы | |
Опции просмотра | |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не разбирусь с CSS. Помогите кто может. | blood_2007 | CSS | 17 | 01.04.2011 08:08 |
Виртуализация XEN: помогите, кто может! | Lorte | UNIX, Linux, MacOs для PC и другие ОС | 1 | 26.06.2008 15:47 |
Кто может,помогите,пожалуйста... | Наталья1967 | Macromedia Flash | 5 | 22.03.2008 23:52 |
Помогите кто чем может! | serg2t2 | Настройка интернета | 21 | 08.01.2008 14:42 |
Помогите кто может | LordDevil | Архив | 7 | 27.11.2007 13:49 |
|
|