Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Perl, PHP: отправка формы на e-mail

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

Открыть новую тему     Написать ответ в эту тему

Fraerok



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ничего не нахимичено, вот код формы:

Цитата:
<FORM action="send_form.php" method=post>
ФИО: <INPUT size=27 name="ФИО">
E-mail: <INPUT size=27 name="E-mail">
Тема: <INPUT size=27 name="Тема сообщения">
Кому: <select name="mailto">
<option value="1"> 1
<option value="2@2.ru"> 2
<option value="3@3.ru"> 3
</select>
Сообщение:<TEXTAREA name="Сообщение" rows=5 wrap=auto cols=45></TEXTAREA>
<INPUT type=submit value="Отправить сообщение"><input type="Reset" name="Reset1" value="Очистить">
</FORM>

поэтому content-type по умолчанию plain/text (если дописать enctype="plain/text" результат тот же)
 

Всего записей: 1723 | Зарегистр. 11-05-2006 | Отправлено: 21:11 25-04-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fraerok

Цитата:
ничего не нахимичено, вот код формы:  

при чем тут форма? заголовки формируемые для письма.. для функции mail

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:12 25-04-2008
Fraerok



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://forum.ru-board.com/topic.cgi?forum=31&topic=2488#12
 
отсюда ведь все как и говорилось

Всего записей: 1723 | Зарегистр. 11-05-2006 | Отправлено: 21:46 25-04-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fraerok

Цитата:
отсюда ведь все как и говорилось

ну и?
 $headers .= "Content-Type: text/html;charset=win-1251\n";  


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:47 25-04-2008
Fraerok



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
да, я уже допер) убрал нафиг эту строчку.
 
В общем насчет того, как закодировать email'ы получателя я спрошу у знакомых, когда прийдут. А вот можно ли вывести отосланное сообщение после вы не подскажите?
 
Сейчас я в форме send_forum.php просто написал "Сообщение успешно отправлено."
а было бы еще прикольно под этим вывести отосланное сообщение.
 
И может все-таки есть смысл шапку включить?

Всего записей: 1723 | Зарегистр. 11-05-2006 | Отправлено: 21:52 25-04-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fraerok

Цитата:
а было бы еще прикольно под этим вывести отосланное сообщение.  

ну и в чем проблема то???  
echo $message;
 
не выспались?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:55 25-04-2008
Fraerok



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И не выспался тоже) Просто я в php - ноль без палочки.
 
В общем выводить-то я его вывожу, но там все поля выводятся в одну строчку, т.к. <br> нет в конце строк (/n не вопринимается html))
Можно, наверное, как-то после отправки сообщения на почту переделать "/n" на "<br>" для вывода сообщения об отправке на сайте?

Всего записей: 1723 | Зарегистр. 11-05-2006 | Отправлено: 23:12 25-04-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Можно, наверное, как-то после отправки сообщения на почту переделать "/n" на "<br>" для вывода сообщения об отправке на сайте?

www.php.net/nl2br

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:13 25-04-2008
Fraerok



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всё, вроде все получилось)
Вот, кстати, как я из селекта в скрипте почту подставляю:

Цитата:
if (
 $_POST["Agpecam"] == "1" ) {
 $toemail = "mail1";
  }  
else if (
 $_POST["Agpecam"] == "2" ) {
  $toemail = "mail2";
  }  
else if (
 $_POST["Agpecam"] == "3" ) {
  $toemail = "mail3";
  }

насколько я понимаю, хацкеры не смогут свое подсунуть.
 
Форму, кстати, можно глянуть здесь - http://www.parlament.ptz.ru/feedback/
только если сообщения тестировать - то выбирайте "Вебмастеру", чтобы чужие ящики не забрасывать.

Всего записей: 1723 | Зарегистр. 11-05-2006 | Отправлено: 00:29 26-04-2008 | Исправлено: Fraerok, 13:08 26-04-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fraerok

Цитата:
насколько я понимаю, хацкеры не смогут свое подсунуть.  

ты и так спама наберешься..  
1) светя мыла тут
2) не сделав защиту от ботов в форме - постить будут ну очень часто

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:53 26-04-2008
Fraerok



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
в общем на другом хостинге возникла проблема с этим скриптом... письма то уходят, то не уходят. В логах почтового сервера:
Цитата:
May 14 09:06:20 mx5 postfix/smtp[50437]: 5BC7E767754: to=<infoСOБАKАiva.onego.ru>, relay=mx.onego.ru[78.36.63.4], delay=1, status=bounced (host mx.onego.ru[78.36.63.4] said: 550-Verification failed for <ivaauto8СOБАKАv47.valuehost.ru> 550-Called: 217.112.42.3 550-Sent: RCPT TO:<ivaauto8СOБАKАv47.valuehost.ru> 550-Response: 553 sorry, that user not exists or domain isn't allowed to be relayed thru this MTA (#5.7.1) 550 Sender verify failed (in reply to RCPT TO command))

в поддержке сказали попробовать "отправлять с допольнительным параметром -f реальный@email для функции mail()"
 
как быть? =(

Всего записей: 1723 | Зарегистр. 11-05-2006 | Отправлено: 13:07 23-05-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fraerok

Цитата:
в поддержке сказали попробовать "отправлять с допольнительным параметром -f реальный@email для функции mail()"  

у функции mail нет параметров типа -f
они есть у sendmail, через который и шлется.
по умолчанию берет юзверя из под которого запущена.  
вот и получается, что получатель письма пытается проверить адрес отправителя и его посылают.  
для этого нужно менять в php.ini параметр
sendmail_path
 


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:30 23-05-2008
Fraerok



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
это нужно к администраторам сервера обратиться?

Всего записей: 1723 | Зарегистр. 11-05-2006 | Отправлено: 08:58 26-05-2008
Arrancar

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди помогите плиз!есть  скрипт который отправляет письмо на один мэйл!нужен такой чтобы сначала в окне выбора выбирался человек,и в зависимости от того кого выбрали письмо отправлялось на конкретный мэйл,а не на один и тот же!

Всего записей: 7 | Зарегистр. 12-06-2008 | Отправлено: 23:15 27-06-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arrancar

Код:
 
<form method=post action=script.php>
<select name='person'><option value=0>Имя №1</option><option value=1>Имя №2</option>
</select>
<textarea name='message'></textarea>
<input type=submit value='Отправить'></form>

 
 
script.php

Код:
 
<?php
$emails=array('мыло_человека№','мыло_человека№2');
$email=$emails[$_POST['person']];
$message=$_POST['message'];
...

и далее как описано ранее в теме. в переменной $email будет мыло выбранного человека.
в $message будет текст сообщения

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:20 27-06-2008
Arrancar

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
<?php
$emails=array('мыло_человека№','мыло_человека№2');
$email=$emails[$_POST['person']];  
$Subject  = "$_Post['Subject']";
$Message = $_POST['Email'].':'.$_POST['Name'].':'.$_POST['Message'];
$Headers  = "From: имя<мыло>\n";
mail($ToEmail, $Subject, $Message, $Headers);
?>  
 
 
Cheery скажи пожалуйста правильно или нет?если нет подправь

Всего записей: 7 | Зарегистр. 12-06-2008 | Отправлено: 19:22 28-06-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arrancar

Цитата:
скажи пожалуйста правильно или нет?

а попробовать?  
желательно добавить проверку, что значение $_POST['person'] цифровое (или сразу преобразовать через intval) и в пределах размеров массива $emails

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:24 28-06-2008
Arrancar

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
<?php
$emails=array('мыло_человека№','мыло_человека№2');
$email=$emails[$_POST['person']];  
if (
 $_POST["person"] == "1" ) {
 $toemail = "mail1";
  }  
else if (
 $_POST["person2"] == "2" ) {
  $toemail = "mail2";
  }  
else if (
 $_POST["person3"] == "3" ) {
  $toemail = "mail3";
  }  
 
$Subject  = "$_Post['Subject']";
$Message = $_POST['Email'].':'.$_POST['Name'].':'.$_POST['Message'];
$Headers  = "From: имя<мыло>\n";
mail($ToEmail, $Subject, $Message, $Headers);
?>  
 
 
так что ли?

Всего записей: 7 | Зарегистр. 12-06-2008 | Отправлено: 19:42 28-06-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arrancar

Цитата:
так что ли?

нет..
Цитата:
<?php
$emails=array('мыло_человека№','мыло_человека№2');
$id=intval($_POST['person']);
if ($id>=0 && $id<count($emails)
{
 $ToEmail=$emails[$id];  
 $Subject  = $_Post['Subject'];
 $Message = $_POST['Email'].':'.$_POST['Name'].':'.$_POST['Message'];
 $Headers  = "From: имя<мыло>\n";  
 mail($ToEmail, $Subject, $Message, $Headers);
}
?>  



----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:45 28-06-2008 | Исправлено: Cheery, 19:50 28-06-2008
Arrancar

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В понидельник попробую запустить....спасибо

Всего записей: 7 | Зарегистр. 12-06-2008 | Отправлено: 19:49 28-06-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

Компьютерный форум Ru.Board » Интернет » Web-программирование » Perl, PHP: отправка формы на e-mail


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru