Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   eMail через JS (https://javascript.ru/forum/misc/3381-email-cherez-js.html)

konstantinopol 14.04.2009 18:56

eMail через JS
 
Возможно ли послать мыло через JS. Некоторые говорят что можно, другие говорят что мыло надо отправлять через сервер(php) а не через клиента(JS). Кому верить??

Gvozd 14.04.2009 19:05

так, слушай сюда.
дядя тебе плохого не посоветует, и неправды не скажет)
послать e-mail с помощью JS-а нельзя.
на стороне клиента все что етсь по поводу E-mail-ов, это псевдо-атрибут mailto: в ссылках и формах
в лучшем случае, он откроет пользователю клиент почты, и предложит отправить мыло.
в случае формы, там даже будет уже заполнено поле тела сообщения(которое пользователь спокойно может отредактировать)
При этом в большинстве случаев открывается ненастроенный Outlook, и пользователь не станет заморачиватся настравивая его, чтобы отправить письмо
в худшем случае, пользователю предложат установить клиент почты, и дальше все как я только что описал.
Короче говоря кросбраузерно и в автоматически отправить мыло с клиента нельзя.
Если кто скажет, что можно, требуй конкретный рабочий код =)
все будет, как описано.
Если предложат купить скрипт, работай исключитаельной через гаранта
потому что это заранее развод.
А вот послать запрос PHP-сркипту, который уже отправит автоматичски мыло, можно
вот и сказочке конец, а кто слушал отправьте СМС на короткий номер

Kolyaj 14.04.2009 19:09

Цитата:

Сообщение от Gvozd
послать e-mail с помощью JS-а нельзя.

Можно. Могу продать скрипт ))))

konstantinopol 14.04.2009 19:18

Благодарю за разьяснение ...
В Joomla с php что-то не хочет отправлять думал может с JS получится ...

Народ дайте ссылочку на литературу по сбору данных Js и перемищением собранного в php.
Надеюсь таковой имеется. Спасибо.

Gvozd 15.04.2009 15:32

Kolyaj,
твой скрипт может из браузера, исопльзуя JS отправлять E-mail достаточно прозрачно для пользователя(читай "незаметно"), и при этом работает в осле-опере-гнелисе актуальных тверсий?
можно поинтересоватся ценой?

Kolyaj 15.04.2009 15:49

Цитата:

Сообщение от Gvozd
можно поинтересоватся ценой?

Дорого, без гарантов )))

Там же ж смайлики )))

konstantinopol 15.04.2009 15:49

Ну собрал я данные с формуляра, а что дальше то делать???
<script type="text/javascript">
	
	function sobiraem(){
		var name = document.forms[0].Name.value;
		var email = document.forms[0].eMail.value;
		var betreff = document.forms[0].Betreff.value;
		var nachricht = document.forms[0].Nachricht.value;	
	}
</script>

Gvozd 15.04.2009 16:05

Kolyaj,
прости, не оценил юмора с первого раза)
konstantinopol,
что дальше, для чего?
конкретику!
как дальше действовать, если ты хочеш отправлять e-mail с сервера средствами PHP?
или как дальше действовать, если ты все-таки хочеш отправить чисто клиентскими средствами, несмотря на мой пост?
если второе, то не надо собирать данные отдельно.достаточно прописать в action-е формы mailto:my_mail.gmail.com
если надо первое, то посылаеш любым удобным способом(AJAX,переход по ссылке,форма) данные для пересылки на серверный сркипт. а вот в нем уже отправляеш мыло стандартной функцией mail()

Если тебе этого ответа недостаточно, уточни свой вопрос

AzriMan 17.04.2009 16:29

ну как-бы да. аяксом отсылаешь данные на сервер, а там чем угодно (php/cgi/...) их обрабатываешь и отсылаешь письмо.

westnord 10.07.2013 20:56

Здравствуйте, в продолжении темы хотел бы узнать как сформировать запрос из js в ajax, чтобы отправить данные на сервер, а потом при помощи php на электронную почту?

У меня в инпутах заполняются данные, форму взял с известного сайта,
http://ruseller.com/lessons/les634/demo/index.html
Скажите, как можно оформить всё это в одно сообщение и отослать по электронке?
Заранее спасибо за ответ!

dmitriymar 10.07.2013 21:02

Цитата:

Сообщение от westnord
Здравствуйте, в продолжении темы хотел бы узнать как сформировать запрос из js в ajax,, чтобы отправить данные на сервер, а потом при помощи php на электронную почту?

сотни тем на форуме, если не тысячи, глава в учебнике, в статьях, в гугле..

Vampir3 11.07.2013 01:27

я в таких ситуауиях шлю ajax запрос на php страничку, которая шлет то что нужно

westnord 11.07.2013 19:09

Цитата:

Сообщение от Vampir3 (Сообщение 261692)
я в таких ситуауиях шлю ajax запрос на php страничку, которая шлет то что нужно

А кодом не поделитесь, как это можно сделать?
Мне просто нужно JS считать все данные вида
О компании => company_name
Контактное лицо => username
Контактный телефон => tel_number
Контактный email => email

В виде массива
$("input").blur(function () {
         var $(this).value = $(this).value ;
    });

Я думаю как-то отсюда надо "плясать", только не знаю как, возможно создать 2 массива (1 для имен, 2 для значений) =(
Потом сгенерировать письмо, где присвоить им свои имена
Заранее спасибо за помощь!

Vampir3 13.07.2013 00:46

Тема еще актуальна?
как-то так:

PHP:
<?php
     $to = "$_GET[mail]";
     // Адрес, куда придет письмо
     $subject = "$_GET[subject]";
     // Заголовок сообщения
     $company_name = "$_GET[company]";
     // Имя компании
     $tel = "$_GET[tel]";
     // Телефон
     $username = "$_GET[username]";
     // Контактное лицо
     $email = "$_GET[email]";
     // Почта контактного лица
     $message = "О компании: $company_name \n Контактное лицо: $username \n Контактный телефон: $tel \n E-Mail: $email";
     // Целостное сообщение
     mail($to, $subject, $message);
     // Шлем сообщение
?>


JS:
function httpGet(theUrl) {
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", theUrl, false );
    xmlHttp.send( null );
}

function sendMail(to, subject, company_name, tel_number, username, email) {
     var lnk = 'http://yourhost.ru/mail.php?mail=' 
          + encodeURIComponent(to) 
          + '&subject=' 
          + encodeURIComponent(subject)
          + '&company=' 
          + encodeURIComponent(company_name)
          + '&tel=' 
          + encodeURIComponent(tel_number)
          + '&username=' 
          + encodeURIComponent(username)
          + '&email=' 
          + encodeURIComponent(email);
          httpGet(lnk)
}



пример отправки: sendMail('vampir3@gmail.com', 'Куплю комбайн', 'Дуров и КО', '112112112', 'Vampir3', 'vampir3@gmail.ru');

westnord 15.07.2013 12:30

Не получается, запрос слишком огромный, нужно делать через метод post

Davydov 12.01.2015 10:06

PHP:
<?php
$to = "scarabey_82@mail.ru";
// Адрес, куда придет письмо
$subject = "Сообщение";
// Заголовок сообщения
$message = "Сообщение";
// Целостное сообщение
mail($to, $subject, $message);
// Шлем сообщение
?>

JS:
function httpGet(theUrl) {
var xmlHttp = null;
xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false );
xmlHttp.send( null );
}

function sendMail(to, subject) {
var lnk = 'http://mail.ru/mail.php?mail='
+ encodeURIComponent(to)
+ '&subject='
+ encodeURIComponent(subject)
httpGet(lnk)
}

не отправляет (

что я делаю не так ?


Часовой пояс GMT +3, время: 02:44.