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

Форум PHP

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

 

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

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

тема: автоматическое почтовое уведомление
 
 автор: cccp   (04.02.2006 в 22:34)   письмо автору
 
 

Добрый день ребята!

Подскажите как можно добавить сюда несколько строк что бы во время отправки письма человек каторый отправляет письмо и заполняет свой адресс e-mail в ячейке $senderml
получал на свою почту афтамотический ответ типа "Спасибо за письмо. Как будет время, я вам отвечу..."


Зарание Благодарен!



<?php
include("data/config.inc.php");
if(
$_POST['senderml']=="" or $_POST['senderml']=="[votre e-mail]") {
    
$mess="<center>Vous devez indiquer votre adresse <u>e-mail</u>!</center>"$title="Erreur!";
} elseif(!
strstr($_POST['senderml'],"@") or !strstr($_POST['senderml'],".")) {
    
$mess="<center>Nous avons besoin que votre<br><u>adresse E-mail soit correct</u><br>pour effectuer l'envoi de cette lettre!</center>"$title="Erreur!";
} elseif (!isset(
$_POST['senderbody']) or $_POST['senderbody']=="") {
    
$mess="<center>Votre <u>message</u> est n&#233;c&#233;ssaire<br>pour effectuer l'envoi de cette lettre...</center>"$title="Erreur!";
} else {
    if(!isset(
$_POST['sendernm']) or $_POST['sendernm']=="[votre nom]"$_POST['sendernm']="anonymous";
    
$body=strip_tags($_POST['senderbody']);
    
$headers ="From: ".strip_tags($_POST['sendernm'])."<".strip_tags($_POST['senderml']).">\n";
    
$headers.="Contact e-mail (via site)\n";
    
$headers.="Content-Type: text/html; charset=".$sendchar;
    
$sign=array("\r","\n");
    
$ch=array("","");
    
mail($sendmail,$sendtheme,$body,$headers);
    
$his_f=fopen("data/history.txt","a+");
    
fputs($his_f,"\n".mktime() . ":|:".strip_tags($_POST['sendernm']) . ":|:".strip_tags($_POST['senderml']) . ":|:".str_replace($sign,$ch,strip_tags($_POST['senderbody']))); 
    
fclose($his_f); 
    
$mess="<center><font size='2'><br><br>Votre message <?php echo $senderbody; ?>a &#233;t&#233; envoy&#233; avec succ&#233;s! <br> Merci. </make> </center>"$title "Message envoy&#233; avec succ&#233;s!"$sent="ok";
}
?>

   
 
 автор: cheops   (05.02.2006 в 01:00)   письмо автору
 
   для: cccp   (04.02.2006 в 22:34)
 

Хм... добавьте в конце функцию mail(), которая отправит такое уведомление.

   
 
 автор: cccp   (05.02.2006 в 02:12)   письмо автору
 
   для: cheops   (05.02.2006 в 01:00)
 

Как ?! Ещё раз?!
Ведь она уже есть.

   
 
 автор: cheops   (05.02.2006 в 13:14)   письмо автору
 
   для: cccp   (05.02.2006 в 02:12)
 

Хм... ну я так понял имеющаяся функция mail() предназначена для отпавки письма администратору? Для того, чтобы отправить письмо тому, кто отправляет - нужна ещё одна. В двух функциях ничего страшного нет (правда если у вас нет спам-задержки, тогда придётся поставить задержку между вызовами при помощи функции sleep()).

   
 
 автор: Akira   (05.02.2006 в 02:15)   письмо автору
 
   для: cccp   (04.02.2006 в 22:34)
 

ммм...вообще то это делается на уровне серверного ПО.
В unix это точно есть, там спец. утилитой задать можно.
А вот средствами php, что бы сразу невозможно, только если использовать крон или частопосещаемую страницу и то есть возможность ответа не сразу а через определенный промежуток времени. Мой вам совет, повнимательнее изучите вашу панель, если она есть.

   
 
 автор: cccp   (05.02.2006 в 13:34)   письмо автору
 
   для: Akira   (05.02.2006 в 02:15)
 

Так что это воможно так?
Посмотрите:


<?php 
include("data/config.inc.php"); 
if(
$_POST['senderml']=="" or $_POST['senderml']=="[votre e-mail]") { 
    
$mess="<center>Vous devez indiquer votre adresse <u>e-mail</u>!</center>"$title="Erreur!"
} elseif(!
strstr($_POST['senderml'],"@") or !strstr($_POST['senderml'],".")) { 
    
$mess="<center>Nous avons besoin que votre<br><u>adresse E-mail soit correct</u><br>pour effectuer l'envoi de cette lettre!</center>"$title="Erreur!"
} elseif (!isset(
$_POST['senderbody']) or $_POST['senderbody']=="") { 
    
$mess="<center>Votre <u>message</u> est n&#233;c&#233;ssaire<br>pour effectuer l'envoi de cette lettre...</center>"$title="Erreur!"
} else { 
    if(!isset(
$_POST['sendernm']) or $_POST['sendernm']=="[votre nom]"$_POST['sendernm']="anonymous"
    
$body=strip_tags($_POST['senderbody']);
    
$ot_kogo=strip_tags($_POST['senderml']); 
    
$otvet="Thank you for your latter!"
    
$headers ="From: ".strip_tags($_POST['sendernm'])."<".strip_tags($_POST['senderml']).">\n"
    
$headers.="Contact e-mail (via site)\n"
    
$headers.="Content-Type: text/html; charset=".$sendchar
    
$sign=array("\r","\n"); 
    
$ch=array("",""); 
    
mail($sendmail,$sendtheme,$body,$headers); 
    
mail($ot_kogo,$sendtheme,$otvet,$headers);
    
$his_f=fopen("data/history.txt","a+"); 
    
fputs($his_f,"\n".mktime() . ":|:".strip_tags($_POST['sendernm']) . ":|:".strip_tags($_POST['senderml']) . ":|:".str_replace($sign,$ch,strip_tags($_POST['senderbody']))); 
    
fclose($his_f); 
    
$mess="<center><font size='2'><br><br>Votre message <?php echo $senderbody; ?>a &#233;t&#233; envoy&#233; avec succ&#233;s! <br> Merci. </make> </center>"$title "Message envoy&#233; avec succ&#233;s!"$sent="ok"

?>

   
 
 автор: cccp   (06.02.2006 в 21:17)   письмо автору
 
   для: cccp   (05.02.2006 в 13:34)
 

посмотрите хоть кто нибудь и подскажите пожалуста правильно ли я действую?!

   
 
 автор: cheops   (07.02.2006 в 03:21)   письмо автору
 
   для: cccp   (05.02.2006 в 13:34)
 

Да скрипт должен выглядить примерно так. Да вы сами проверьте :)))

   
 
 автор: cccp   (07.02.2006 в 13:47)   письмо автору
 
   для: cheops   (07.02.2006 в 03:21)
 

Parse error: parse error, unexpected T_VARIABLE in mail.php on line 14

line 14:

$headers ="From: ".strip_tags($_POST['sendernm'])."<".strip_tags($_POST['senderml']).">\n";

   
 
 автор: cccp   (08.02.2006 в 12:16)   письмо автору
 
   для: cccp   (07.02.2006 в 13:47)
 

ребята...ну помогите пожалуста.

   
 
 автор: Trianon   (08.02.2006 в 12:44)   письмо автору
 
   для: cccp   (08.02.2006 в 12:16)
 

точку с запятой в конце 13 строки поставить надо.

   
 
 автор: cccp   (08.02.2006 в 12:55)   письмо автору
 
   для: Trianon   (08.02.2006 в 12:44)
 

Спасибо.
Я поставил.
Только теперь я вообще не получаю писем.
:(

   
 
 автор: WebTech   (08.02.2006 в 13:53)   письмо автору
 
   для: cccp   (08.02.2006 в 12:55)
 

Я так понял, что mail() на твоем хостинге работает. Тогда проще будет :-)

   
 
 автор: XPraptor   (08.02.2006 в 14:06)   письмо автору
 
   для: WebTech   (08.02.2006 в 13:53)
 

Ей богу, ссср, ну не мучайся ты. Отправка почты всегда громоздкий код и каждый раз писать его снова на странице - это кощунство.
В инете лежит куча готовых файлов с классами отправки почты и с вложениями и без и с указанием своих заголовков и без. Скачай файл класса и просто инклюдь его там где надо отправить почту и используй уже проверенные опции класса, чтобы не искать баги в своем коде.

   
 
 автор: cccp   (10.02.2006 в 01:33)   письмо автору
 
   для: XPraptor   (08.02.2006 в 14:06)
 

Спасибо конечно за твои ответы, но куда ни посмотриш у тебя на всё одни решения...
"В нете есть то, в нете есть это..."

Так всякий интерес проподает делать и понять самому что-то.
:)

   
Rambler's Top100
вверх

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