Forum Webscript.Ru

Разное => Поиск, изготовление скриптов и прочее... => Тема начата: SkyNef от 11 Апреля 2005, 23:31:14

Название: Люди выручайте, очень срочно нужен скрипт!
Отправлено: SkyNef от 11 Апреля 2005, 23:31:14
Просто уже не возможно облазил весь инет!!!
Нужен скрипт для отправки информации из формы на меил, чтоб русский язык поддерживался.
Ност полный, платный....перепробовал кучу ничего не получаеться...
Поддержка перла есть, все вроде нормально....
Только пожалуйста если можно с подробным описанием как это сделать, а то я в этом вопросе абсолютный ламер!!!
С нетерпением жду!!!
Название: Люди выручайте, очень срочно нужен скрипт!
Отправлено: frenky от 13 Апреля 2005, 18:15:42
icq:289-005-582
 frenky@univ.kiev.ua

стучись,помогу
Название: Люди выручайте, очень срочно нужен скрипт!
Отправлено: SkyNef от 14 Апреля 2005, 22:32:49
нашел такой скрипт

#!/usr/bin/perl -w
$|=1;

use strict;
use CGI qw( param );
#print "Content-type: text/html\\n\\n";
my(@anketa, $from, $subject);
&get_data;

# Настройки ##############################################
my $sendmail="/usr/sbin/sendmail -t"; #путь к программе sendmail
my $to=\'adres@mail.ru\'; # на какой адрес пересылается анкета
my $redirect=\'http://www.site.ru/thanks.html\'; #Куда редиректит после отправки письма
#С каких страницы передаются данные
my @refers=(
\'http://www.site.ru/forma1.html\',
\'http://www.site.ru/forma2.html\',
\'http://www.site.ru/forma3.html\',
\'http://www.site.ru/forma4.html\'
);
##################################################
########

my $refer_x=$ENV{"HTTP_REFERER"};
# Проверяем откуда пршли данные
&secure;
# Формируем сообщение
my ($cx, $c, $message);
for ($cx=0;$cx<$c;$cx++){
$message.="$anketa[$cx][0] - $anketa[$cx][1]\\n";
}

# Отправляем
&sm;

# Редирект после отправки
print "Location: $redirect\\n\\n";

exit;

# Подпрограмма безопасности
sub secure{
##################################################
########
#Это написано из соображений безопасности. Н панацея, но всетаки...
my $saf_flag=0;
if(!$refer_x){$saf_flag=1}
for my $ref(@refers){
    if("$ref" eq "$refer_x"){
        $saf_flag=0;
        last;
        }
    if("$ref" ne "$refer_x"){$saf_flag=1}
    }
if($saf_flag){
    #Че-нить пишем в браузер плохому парню
    print "Content-type: text/html\\n\\n";
    print "

Вы не имеете права пользоваться этим сервисом!!!

";
     
    #Или можно сделать редирект на готовую страницу, тогда 2 следующих строки разкоментируй, а 2 вышестоящих - закомментируй
    #my $fuck_page="http://www.site.ru/fuck_off.html";
    #print "Location: $fuck_page\\n\\n";
     
    exit;
    }
##################################################
#########
}

# Подпрограмма получения данных из формы
sub get_data{
my @np=param();
$c=0;
for my $x(@np){
    if(($x!~/submit|subject|from/) && (param($x))){
        $anketa[$c]=["$x", param($x)];
        $c++;
        }
    }
}

# Непосредственно подпрограмма отправки
sub sm{
my $subject=param(\'subject\');
my $from=param(\'from\');
open (MAIL,"|$sendmail");
    print MAIL "To: $to\\n";
    print MAIL "From: $from\\n";
    print MAIL "Subject: $subject\\n\\n";
    print MAIL "$message";
close (MAIL);
}

сначала работало теперь всегда вылезает ВЫ НЕ МОГЕТЕ ПОЛЬЗОВАТЬСЯ ЭТИМ СЕРВИСОМ!  из подпроги безопасности - попробовал ее потереть стала вылезать ошибка порта 80
Название: Люди выручайте, очень срочно нужен скрипт!
Отправлено: y4an от 26 Апреля 2005, 16:00:36
а это обязательно должен быть Perl?
ведь можно же сделать на PHP