PDA

Просмотр полной версии : Почтовый скрипт нужен..


Feonick
14.11.2001, 10:40
Помогите, плизз! Как сделать так, чтобы при нажатии на одну кнопку флэш-мувика данные из двух полей отправились на мое мыло? Как должен выглядеть скрипт, который бы работал на серверах Webservice? Какие экшены нужно присвоить текстовым полям и кнопке в мувике?
Помогите, кто чем сможет. Буду очень признателен. :confused:

gOloVasTicK '~
14.11.2001, 14:16
Все довольно просто. Ежели Webservice поддерживает Перл :)
По первости именнуешь свои поля. Нпрм: name, content.
Потом пишешь скрипт Перл типа:

#!/usr/bin/perl

$query=$ENV{'QUERY_STRING'};
@formfields=split(/&/,$query);
foreach(@formfields){
if(/^name=(.*)/){$name=&urldecode($1);}
if(/^content=(.*)/){$content=&urldecode($1);}
}
$mailbody="Name=$name\nContent=$content\n";
$from="MySiteForm";
$sendto="my@email.jp";
$subject="MySubject";

open(MAIL, '| /usr/sbin/sendmail -t -oi');
print MAIL <<EOF;
To: $sendto
From: $from
Subject: $subject

$mailbody

EOF
close MAIL;

print "Content-Type: text/html\n\n";
print "Message successfully sent!!!\n";

sub urldecode{
local($val)=@_;
$val=~s/\+/ /g;
$val=~s/%([0-9A-H]{2})/pack('C',hex($1))/ge;
return $val;
}


Называешь скрипт email.cgi и кидаешь его в папку cg-bin на сервере, если таковая имеется.

Во флеше на кнопку отправки вешаешь акшен:

on(release){
getURL("http://www.somehost.jp/email.cgi?name"+name+"&content="+content, "windowname");
}


windowname это имя окна в котором будет выдаваться сообщение "Все ОК".

Усе.

Feonick
14.11.2001, 16:11
Что-то не работает. Может где ошибка...?
А что делать с параметром windowname ? :confused:

gOloVasTicK '~
14.11.2001, 16:43
Ты скрипт в чем пишешь???

windowname это имя окна в котором будет открываться сообщение скрипта. Можно например скрипт пустить в невидимом фрейме. Или в новом окне.

Feonick
14.11.2001, 16:55
Прямо на сервере создаю файл email.cgi и все.
Когда жму флэшевую кнопку - открывает страничку с ошибкой.

Вместо windowname нужно указать урл?

gOloVasTicK '~
14.11.2001, 17:00
Вот этот код надо в email.cgi написать.
Причем блокнот не подходит!!!! Пиши в far'e (благо скачать его можно где угодно). Можно написать в Блокноте, а Фаре пересохранить в формате Юникс.


#!/usr/bin/perl

$query=$ENV{'QUERY_STRING'};
@formfields=split(/&/,$query);
foreach(@formfields){
if(/^name=(.*)/){$name=&urldecode($1);}
if(/^content=(.*)/){$content=&urldecode($1);}
}
$mailbody="Name=$name\nContent=$content\n";
$from="MySiteForm";
$sendto="my@email.jp";
$subject="MySubject";

open(MAIL, '| /usr/sbin/sendmail -t -oi');
print MAIL <<EOF;
To: $sendto
From: $from
Subject: $subject

$mailbody

EOF
close MAIL;

print "Content-Type: text/html\n\n";
print "Message successfully sent!!!\n";

sub urldecode{
local($val)=@_;
$val=~s/\+/ /g;
$val=~s/%([0-9A-H]{2})/pack('C',hex($1))/ge;
return $val;
}

gOloVasTicK '~
14.11.2001, 17:03
windowname это имя окна ИМЯ! Короче пиши _blank и не парься

Feonick
14.11.2001, 17:46
Надо же, заработало!!! Супер!
Слушай, а можешь рассказать, как данные из двух текстовых полей, расположенных на сайте, написанном во флэше, нажатием одной кнопки записывать в текстовый файл на сервере, при условии, что эти данные поступают каждый час?

gOloVasTicK '~
14.11.2001, 19:01
Может ты мне платить начнешь? ;)
Тоже самое, только писать надо не в сендмайл а в файло.
Права доступа знаешь что такое?

Feonick
14.11.2001, 21:05
Я тебе с удовольствием заплачу (правда не много - 3 WMZ) за помощь. А вообще, я могу предложить тебе бесплатное участие в моем будущем проекте (плюс, конечно, эти 3 WMZ), над которым я и работаю в данный момент. Очень перспективная штука.. А какая прибы-ыльная-я! Не пожалеешь, даю слово.

Я не знаю что такое права доступа. У тебя есть аська? :)

gOloVasTicK '~
14.11.2001, 21:07
Аська у меня в профайле лежит. :)
На счет денег я пошутил.

Feonick
14.11.2001, 21:15
Выходи в онлайн, тебе на асю риквест кинул. Предыдущее сообщение я изменил.