eMail через JS
Возможно ли послать мыло через JS. Некоторые говорят что можно, другие говорят что мыло надо отправлять через сервер(php) а не через клиента(JS). Кому верить??
|
так, слушай сюда.
дядя тебе плохого не посоветует, и неправды не скажет) послать e-mail с помощью JS-а нельзя. на стороне клиента все что етсь по поводу E-mail-ов, это псевдо-атрибут mailto: в ссылках и формах в лучшем случае, он откроет пользователю клиент почты, и предложит отправить мыло. в случае формы, там даже будет уже заполнено поле тела сообщения(которое пользователь спокойно может отредактировать) При этом в большинстве случаев открывается ненастроенный Outlook, и пользователь не станет заморачиватся настравивая его, чтобы отправить письмо в худшем случае, пользователю предложат установить клиент почты, и дальше все как я только что описал. Короче говоря кросбраузерно и в автоматически отправить мыло с клиента нельзя. Если кто скажет, что можно, требуй конкретный рабочий код =) все будет, как описано. Если предложат купить скрипт, работай исключитаельной через гаранта потому что это заранее развод. А вот послать запрос PHP-сркипту, который уже отправит автоматичски мыло, можно вот и сказочке конец, а кто слушал отправьте СМС на короткий номер |
Цитата:
|
Благодарю за разьяснение ...
В Joomla с php что-то не хочет отправлять думал может с JS получится ... Народ дайте ссылочку на литературу по сбору данных Js и перемищением собранного в php. Надеюсь таковой имеется. Спасибо. |
Kolyaj,
твой скрипт может из браузера, исопльзуя JS отправлять E-mail достаточно прозрачно для пользователя(читай "незаметно"), и при этом работает в осле-опере-гнелисе актуальных тверсий? можно поинтересоватся ценой? |
Цитата:
Там же ж смайлики ))) |
Ну собрал я данные с формуляра, а что дальше то делать???
<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> |
Kolyaj,
прости, не оценил юмора с первого раза) konstantinopol, что дальше, для чего? конкретику! как дальше действовать, если ты хочеш отправлять e-mail с сервера средствами PHP? или как дальше действовать, если ты все-таки хочеш отправить чисто клиентскими средствами, несмотря на мой пост? если второе, то не надо собирать данные отдельно.достаточно прописать в action-е формы mailto:my_mail.gmail.com если надо первое, то посылаеш любым удобным способом(AJAX,переход по ссылке,форма) данные для пересылки на серверный сркипт. а вот в нем уже отправляеш мыло стандартной функцией mail() Если тебе этого ответа недостаточно, уточни свой вопрос |
ну как-бы да. аяксом отсылаешь данные на сервер, а там чем угодно (php/cgi/...) их обрабатываешь и отсылаешь письмо.
|
Здравствуйте, в продолжении темы хотел бы узнать как сформировать запрос из js в ajax, чтобы отправить данные на сервер, а потом при помощи php на электронную почту?
У меня в инпутах заполняются данные, форму взял с известного сайта, http://ruseller.com/lessons/les634/demo/index.html Скажите, как можно оформить всё это в одно сообщение и отослать по электронке? Заранее спасибо за ответ! |
Цитата:
|
я в таких ситуауиях шлю ajax запрос на php страничку, которая шлет то что нужно
|
Цитата:
Мне просто нужно JS считать все данные вида О компании => company_name Контактное лицо => username Контактный телефон => tel_number Контактный email => email В виде массива $("input").blur(function () { var $(this).value = $(this).value ; }); Я думаю как-то отсюда надо "плясать", только не знаю как, возможно создать 2 массива (1 для имен, 2 для значений) =( Потом сгенерировать письмо, где присвоить им свои имена Заранее спасибо за помощь! |
Тема еще актуальна?
как-то так: 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'); |
Не получается, запрос слишком огромный, нужно делать через метод post
|
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, время: 19:37. |