Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: отправка из формы на e-mail +отправка уведомления
 
 автор: yu   (10.01.2005 в 01:08)   письмо автору
 
 

Подскажите,пожалуйста, как из одного скрипта одновременно отправить:
- Содержание форм на е-mail админа
- Уведомление об отправке форм на e-mail пользователя.
В PHP пока не очень, если можно , приведите простой пример.

   
 
 автор: cheops   (10.01.2005 в 01:22)   письмо автору
 
   для: yu   (10.01.2005 в 01:08)
 

Хорошо бы если вы привели форму, для которой необходимо организовать двойную отправку письма. Отправка писем осуществляется при помощи функции mail():
<?php
  
if(mail("admin@mail.ru","тема письма","содержимое письма"))
  {
    echo 
"письмо отправлено";
  }
  else
  {
    echo 
"ошибка при отправлении письма";
  }
  if(
mail("user@mail.ru","тема письма","содержимое письма"))
  {
    echo 
"письмо отправлено";
  }
  else
  {
    echo 
"ошибка при отправлении письма";
  }
?>

   
 
 автор: yu   (10.01.2005 в 01:49)   письмо автору
 
   для: cheops   (10.01.2005 в 01:22)
 

использую форму (код целиком):

<form ENCTYPE="multipart/form-data" action="<?echo $PHP_SELF;?>" method="post">

<table border="0" width=100% align="center" class="text">
<tr>
<td width=30%><span class="red">*</span><b>&nbsp;&nbsp;Ваше имя:</b> </td>
<td width=70%>
<input type="text" name="name">
</td>
</tr>
<tr>
<td width=30%><span class="red">*</span><b>&nbsp;&nbsp;Ваш e-mail:</b> </td>
<td width=70%><input type="text" name="mail"></td>
</tr>
<tr>
<td width=30%><span class="red">*</span><b>&nbsp;&nbsp;Ваш город:</b> </td>
<td width=70%><input type="text" name="city"></td>
</tr>
<tr>
<td width=30%><span class="red">*</span><b>&nbsp;&nbsp;Тема: </b></td>
<td width=70%>
<input type="text" name="subject">
</td>
</tr>
<tr>
<td width=30%><b>Текст сообщения:</b></td>
<td width=70%>
<textarea name="message" rows="10" cols="40"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<center>
<input type="submit" name=go value="Отправить">
</center>
</td></tr></table></form>

и скрипт отправки :
<?
if (file_exists("footer.html")) {
include ("footer.html");
}
}
else {

if(empty($name))
{
$bad .= "<li>Вы не подписались.</li>";
}
if(empty($city))
{
$bad .= "<li>Вы не указали свой город.</li>";
}
if(empty($message))
{
$bad .="<li>Вы забыли написать сообщение.</li>";
}

if(!preg_match("/^([a-z,0-9])+@([a-z,0-9])+(.([a-z,0-9])+)+$/", $mail))
{
$bad .= "<li>Неправильный e-mail</li>";
}

if(empty($subject)) {
$bad .= "<li>Отсутствует тема сообщения.</li>";
}

if ($bad)
{
echo ".....код странички,которая выскакивает при ошибке......"
exit;
}

$usa = getenv("HTTP_USER_AGENT");
$temp = "$fi\n\nПришло письмо от:\n\n$name\n\n$city\n\n$message\n\nuser-agent: $usa";
$subj = "$subject";
$body = $temp;
$adds = "From: $mail\n";
$adds .= "X-Sender: < $mail >\n";
$adds .= "Content-Type: text/plain; charset=windows-1251\n";
mail($mymail,$subj,$body,$adds); );
Header("Location: $after_sent");
}
?>

В данном виде всё работает, но как я не пытаюсь присоединить
отправку уведомления, не получается, отправляется только результат заполнения форм.
Если знаете варианты, подскажите пожалуйста..

   
 
 автор: cheops   (10.01.2005 в 11:11)   письмо автору
 
   для: yu   (10.01.2005 в 01:49)
 

Хм... странно - нигде не видно определения переменной $mymail с адресом, на который следует отправить письмо...

   
 
 автор: yu   (11.01.2005 в 01:09)   письмо автору
 
   для: cheops   (10.01.2005 в 11:11)
 

она есть,$mymail="yu@flexuser.ru" я просто не написал здесь. Подскажите,please, как можно присоединить отправку уведомления(Ваш вариант)

   
 
 автор: cheops   (11.01.2005 в 01:17)   письмо автору
 
   для: yu   (11.01.2005 в 01:09)
 

Хм... вот чего не понимаю - ведь под первой функцией mail можно написать вторую, в которую поместить уже другой e-mail в первом параметре, т.е. заменив
<?php
  mail
($mymail,$subj,$body,$adds); 
?>

на
<?php
  mail
($mymail,$subj,$body,$adds); 
  
mail("admin@mail.ru",$subj,$body,$adds); 
?>

где admin@mail.ru - e-mail администратора - или здесь под уведомлением понимается что-то другое?

   
 
 автор: yu   (11.01.2005 в 21:57)   письмо автору
 
   для: cheops   (11.01.2005 в 01:17)
 

По логике да, но делал так - не работает. Возможно sendmail бесплатного хостера, (пользуюсь holm.ru) блокирует отправку сразу двух писем из одной функции .Может ли такое быть? Кстсти, пробовал готовый скрипт формы с уведомлением - отсылает только уведомление, а данные формы нет...

   
 
 автор: cheops   (11.01.2005 в 22:06)   письмо автору
 
   для: yu   (11.01.2005 в 21:57)
 

Хм... вполне может. Попробуйте поставить задержку между двумя функциями mail() при помощи функции sleep()
<?php
  sleep
(10); // Время в секундах
?>

   
 
 автор: yu   (12.01.2005 в 03:52)   письмо автору
 
   для: cheops   (11.01.2005 в 22:06)
 

Спасибо большое!
Заработало со sleep (20). Что бы я без Вас делал?! :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования