Как быстро отправлять почту в Js?
Подскажите, есть ли какой-нить простой механизм для отправки почты, типа как в PHP функция mail()?:???: :???: :???:
есть ли какой-нить простой механизм для отправки почты
Насколько мне известно-нет. JS клиентская технология, и ты не должен уметь таких вещей без ведома клиента. А с ведома - у клиента свои почтовики есть. Но никто не запрещает обращаться твоему JS скрипту к серверным скриптам(с передачей данных, само собой)
А на серверном JS есть наверно такие механизмы, только я с ним не дружу, посмотри мануал от нетскапа.
... посмотри мануал от нетскапа.
:) Дело в том, что сюда я написал, уже после посещения мануала :)
Кстати, если я правильно понимаю, то функция PHP mail() тоже изначально отрабатывается у клиента...
Если не в напряг, распиши поподробней (если знаешь) как mail работает...
P/S Я, просто, в Веб программинге всего месяц, еще много пробелов! :)
Кстати, если я правильно понимаю, то функция PHP mail() тоже изначально отрабатывается у клиента...
Нет, понимаешь ты не правильно. Серверный скрипт исполняется на сервере, и по большому счету на клиента ему чихать. Все что может сделать клиент - это запустить этот скрипт, обратившись к нему. А дальше уже как кодер накодил - хочет почту шлет, хочет шлет клиента, причем далеко и надолго. Другое дело, если кодер накодил так, что что-то отсылается на чью-то почту с подачи клиента. Тогда отрабатываются действия клиента и после этого решается что и куда слать. Но, повторюсь, это как ты захочешь.
На тему пробелов - в первую очередь основы HTTP.
Половина головных болей уйдет с пониманием процесса общения клиента с сервером.
:( Вот я и думал, что было бы классно, если бы почту у меня отправлял сам JS :) Но, к сожалению, я уже понял, что просто не получится... Буду дальше извращаться!
приведи код, нифига не понимаю=)
Это функция в Хеде
var yaname = document.questionnaire.YourName.value;
myWin = window.open("discount.php?name="+yaname, "MyPrintForm", "width=600,height=620,status=no,toolbar=no,menubar=no,alwaysRaised=yes");
А так я вывожу в табличку свои страницы
if ($show == 'news') { $home=0; include("_news");}
elseif (!empty($param)) include("search.php");
elseif ($link=mysql_connect($dbhost, $dbuname, $dbpass))
{
if (mysql_select_db($dbname))
{
if ($show == 'album') {
include("_album");
$show = $tempor;
}
else {
if(($id == 194) and ($show == 321)) {
$dir = '/data/leather/album/individual/'; $count=8;
include("_album");
}
if(($id == 194) and ($show == 434)) {
$dir = '/data/leather/album/spec_predl/'; $count=8;
include("_album");
}
if(($id == 194) and ($show == 350)) {
$dir = '/data/leather/album/spec_predl/'; $count=8;
include("_album");
$show = 434;
}
}
if (!empty($show))
{
if ($sbmt > 0)
{
include("send_mail.php");
$sbmt = 0;
}
$query="select title, subtitle, page_header, text, page_footer, signature from ".$prefix."_pages where pid=".$show;
if (($result=mysql_query($query))!==FALSE)
{
list($title, $subtitle, $page_header, $text, $page_footer, $signature)=mysql_fetch_row($result);
echo('<center>'.$page_header.'</center>
'.$text.'
'.$page_footer.'
<div align="right">'.$signature.'</div>');
}
}
else
{
$query="select title, subtitle, page_header, text, page_footer, signature from ".$prefix."_pages where parent=".$id." and main=1";
if (($result=mysql_query($query))!==FALSE)
{
list($title, $subtitle, $page_header, $text, $page_footer, $signature)=mysql_fetch_row($result);
echo('<center>'.$page_header.'</center>
'.$text.'
'.$page_footer.'
<div align="right">'.$signature.'</div>');
}
}
if ($show==261)
include("sender.php");
}
}
А это страничка с формой, которая вичитывается из базы
Анкета
<form name="questionnaire" target="_self" method="post" onSubmit="return SendForm(); " >
<table>
<tr><td width="83">Ваше имя: </td><td>*</td><td width="219"><input type="text" name="YourName" size="31"></td></tr>
<tr><td>Телефон: </td><td></td><td><input type="text" name="YourTel" size="31"></td></tr>
<tr><td>Ваш email: </td><td>*</td><td><input type="text" name="YourEmail" size="31"></td></tr>
<tr><td>Город: </td><td>*</td><td><input type="text" name="YourCity" size="31"></td></tr>
</table>
Возраст:
<input type="radio" name="age" value="25" checked>
до 25
<input type="radio" name="age" value="35">
до 35
<input type="radio" name="age" value="45">
до 45
<input type="radio" name="age" value="46 и старше">
более 45
Сколько должно стоить кожаное изделие?
<input type="radio" name="price" value="1000" checked>
до 1000 грн.
<input type="radio" name="price" value="1500">
до 1500 грн.
<input type="radio" name="price" value="2000">
до 2000 грн.
<input type="radio" name="price" value="3000">
до 3000 грн.
<input type="radio" name="price" value="4000">
до 4000 грн.
<input type="radio" name="price" value="5000">
до 5000 грн.
<input type="radio" name="price" value="более 5000">
более 5000 грн.
Сколько должна стоить дубленка?
<input type="radio" name="price" value="2000">
до 2000 грн.
<input type="radio" name="price" value="3000">
до 3000 грн.
<input type="radio" name="price" value="4000">
до 4000 грн.
<input type="radio" name="price" value="5000">
до 5000 грн.
<input type="radio" name="price" value="более 5000">
более 5000 грн.
Какой длины верхнюю одежду Вы предпочитаете:
<input type="radio" name="clothes" value="короткую" checked>
короткая
<input type="radio" name="clothes" value="среднюю">
средняя
<input type="radio" name="clothes" value="до колен">
до колен
<input type="radio" name="clothes" value="ниже колен">
ниже колен
<input type="radio" name="clothes" value="длинную">
длинная
Какой цвет изделия наиболее предпочтителен для Вас:
<input type="radio" name="color" value="черного" checked>
черный
<input type="radio" name="color" value="коричневого">
коричневый
<input type="radio" name="color" value="бежевого">
бежевый
<input type="radio" name="color" value="рыжего">
рыжий
<input type="radio" name="color" value="другого">
другие
Каким еще, по-Вашему, требованиям должна отвечать Ваша дубленка?
<textarea name="YourWishs" rows=4 cols=35 align="left" wrap="soft"></textarea>
<dd>* - поля, обязательные для заполнения
Спасибо за заполнение анкеты.</p>
<input type="submit" name="sbmt" value="Отправить" onClick="">
<input type="reset" name="rst" value="Сбросить" >
<input type="hidden" name="sbmt" value="1">
</form>
А так я отправляю почту (send_mail.php)
$tm = date("j/m/Y");
$myMessage = "Здраствуйте, сегодня ".$tm." с вашего сайта был распечатан купон-скидка\n";
$myMessage .= "\nИмя посетителя: ".$YourName;
$myMessage .= "\nТелефон посетителя: ".$YourTel;
$myMessage .= "\nEmail посетителя: ".$YourEmail;
$myMessage .= "\nПосетитель из ".$YourCity;
$myMessage .= "\n\nВозраст посетителя: ".$age;
$myMessage .= "\nПосетитель ориентируется на вещи из кожи по цене ".$price." грн.";
$myMessage .= "\nПосетитель считает, что дубленка должна стоить ".$priceDub." грн.";
$myMessage .= "\nПосетитель любит ".$clothes." верхнюю одежду";
$myMessage .= "\nПосетитель предпочитает одежду ".$color." цвета";
$myMessage .= "\n\nЛичные коментарии посетителя:".$YourWishs;
$subject = "Распечатан купон-скидка";
$headers = "MIME-Version: 1.0\r\n";
/* additional headers */
$headers .= "To: Магазин \"Дом кожи\" <discont@domko.com.ua> \r\n";
$headers .= "From: Вебмастер сайта магазина \"Дом кожи\"[list=1]\r\n";
/* and now mail it */
mail("oleg@myoffice.com.ua", $subject, $myMessage, $headers);
Это уже попытка вывести скрипт отправки мыла из HEAD :)
JS без наворотов со тсороны открывтаь сокеты не умеет, а следовательно, не имеет возможности вообще делать что-либо с сетью=) В том числе и отправлять почту:) Да и в наворотах я думаю такого нет, если только самодельные плагины=) А они естессно не омгут быть у всех.. Эт нарушение безопасности, поэтому никто этого (открытия сокетов) в JS вводить не будет..
поздно
в JS это все есть
var a = new ActiveXObject(...)
a.какой_то_метод(...)
и файлы можно открывать, и почту слать, и дофига еще всего
только вот при создании активикса клиента будут спрашивать, действительно ли он пойдет на такое