Просмотр полной версии : отправка мыла из флэша
флэш 5 , делаю так:
getURL ("mailto:111@mail.ru?subject=" add subject add "&body=" add text1 "_self");
text1- это input text, при выполнении функции, в почтовик передается текст без переводов строки.
вопрос: можно как нибудь вставить перевод строки ? пробовал add chr(13) не работает
Max N Chubin_
15.11.2002, 12:00
привет!
хочу с тобой поделится шишками, которые я набил. пользясь таким методом топравки почты.
Ну сначала отвечу на твой вопрос:
пробовал add chr(13) не работает
тебе нужно перед отправкой, обрабатывать строку text1 с помощью функции escape();
т.е.
перед getURL()
text1=escape(text1);
теперь о грустном...
точно так как ты я вставлял формочку во флэш мувик и отправлял почту с помощью зарегистрированного по умолчанию почтового клиента. Так вот - если броузером по умолчанию зарегистрирован например NetScape. то ты получишь только новое письмо с заполненными адресом и темой, body не передается. А кроме того могут быть сложности при работе с различными версиями Outlook. Чичас не припомню в каком косяк вылазил. Ну я уже молчу что у человека может стоять Bat или Eudora (хрень его знает как они такое понимают) или он вообще пользуется WEB сервисом типа mail.ru для отправки/получения мыла. Так что найди лучше простой PHP скриптик и передавай ему все эти значения. Самый лучший выход!!!!
Если нужен скриптик, писни, нарисую, хотя там всего одна команда.
Успехов.
и если не трудно, поясни сразу как и куда его вставить, если это требует пояснения
Max N Chubin_
15.11.2002, 12:43
взято прямо из мануала по PHP4.0:
<?php
$success = mail ($to, urldecode($subj), urldecode($body));
if ($success) {
echo ("Job Application was sent.");
} else {
echo ("Error sending Job Application.");
}
?>
поясню кое-что:
вот эти функцию urldecode() я вставил сюда для того чтобы провести над данными операцию обратную escape() во флэшке.
т.е. строка 'Маша жрала "Раму" ' после escape() выглядит так:
'Маша%20жрала%20%34Раму%34 ' такое ты можешь наблюдать в адресной строке любого броузера.
так вот urldecode() восстанавливает все взад...
обрати внимание что кодируются 2 поля - ТЕМА ($subj) и тело письма ($body). для темы это желательно если в тексте встретятся запятые, слэши и пр.
PHP скрипт должен лежать на сервере в данном ниже примере PHP скрипт находиться в файле mail.php
(чичас придел lexass и будет глумиться над тем что этот вариант канает только для PHP 4.0)
теперь о том как передавать данные скрипту чтобы не открывалось новое окно броузера:
br = ("\r\n"); //вот так правильно переводить каретку
kompl="Принтер HP1100A - 1 шт.";
name="Max N Chubin";
mail="max@scantech.ru";
phone="916 3808738";
e = "Заказанные мплектующие:"+br+kompl+br+"Отправил: "+name+br+"E-mail: "+mail+br+"Телефон: "+phone;
e = escape(e);
s=new LoadVars();
s.to="support@flasher.ru"; //куда отправлять мыло
s.body=e;
s.subj=escape("order from "+name);
s.sendAndLoad("http://www.hostname.ru/mail.php",s);
Max N Chubin_
15.11.2002, 13:08
"сало е сало, чого його пробувати?"
взято из рабочего проекта, так что должно жужжать...
ну а если на серваке новый PHP стоит, то пиши перепишем под него скрипт.
Alexey (G-fi)
15.11.2002, 18:29
Так, так, а ще до шматка сала файну паляницю!!!!
;) ;)
Пальчики обсмокчеш!!!
:D :D :D
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.