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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Отправка почты

Сообщения:  [1-3] 

 
 автор: frizecktor   (07.05.2007 в 13:35)   письмо автору
 
   для: zerocool   (07.05.2007 в 09:19)
 

Спасибо, а ты не мог бы написать для кода Index.php :) с формами плз, а то я ноль в пхп

ИМЯ
ВАШ e-mail
Cообщение:
отправить

   
 
 автор: zerocool   (07.05.2007 в 09:19)   письмо автору
 
   для: frizecktor   (06.05.2007 в 22:51)
 

Зачем столько не нужного кода, я бы сделал так:

<?php

if (!eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$"$_POST[mail_to]) and $_POST[mail_to]!= "")
{print 
"Введите корректный E-mail адрес!</B></center>"; exit;}
else
{

$tema="Письмо с сайта";
$body="ФИО - ".$_POST[mail_subject]."<br><br>Сообщение:<br>".$_POST[mail_msg];
sendmail($_POST[mail_to],Frizecktor@rambler.ru,$tema,$body);
header("Location: index.php");
}



function 
sendmail($from,$to,$subj,$text) {
  
$headers  "Reply-To: $from\r\n";
  
$headers .= "From: $from\r\n";
  
$headers .= "Return-Path: $from\r\n";
  
$headers .= "Content-Type: text/html; charset=windows-1251\r\n";
  
$headers .= "Content-Transfer-Encoding: 8bit\r\n";
  
$headers .= "MIME-Version: 1.0\r\n";
  
$subj $subj;
  @
mail($to,$subj,$text,$headers);
}

?>

   
 
 автор: frizecktor   (06.05.2007 в 22:51)   письмо автору
 
 

Привет народ у меня не большая проблема! С этого сайт по уроку я сделал отправку почты с файлом, т.к. фаил мне не нужен я просто в Index.html убрал форму для загрузки файла.
Также мне не надо чтобы вводили e-mail, я хочу чтобы почта всегда отсылалась на одно мыло..... Frizecktor@rambler.ru... что надо поменять в коде?
Help =)

http://lister.hut1.ru

И ещё, если вам не сложно.. то заодно скажите как сделать чтобы когда почта отправилась, страница возвращалась на главную) а то я в php нуль

Index.html

<HTML> 
<HEAD> 
<TITLE>Консультация</TITLE> 
</HEAD> 
<BODY> 
<H3> <center><font color=#1E90FF>Консультация</font></H3> 
<center> 
<table width=1 border=0> 
<form action=simple_mail.php enctype='multipart/form-data' method=post> 

<tr><td width=30%>Кому</td><td align=right><input type=text name=mail_to maxlength=32></td></tr> 
<tr><td>Ф.И.О.</td><td align=right><input type=text name=mail_subject maxlength=150></td></tr> 
<tr><td colspan=2>Сообщение:<br><textarea cols=50 rows=8 name=mail_msg></textarea></td> 
</tr><tr><td colspan=2><input type=submit value='Отправить'></td></tr> 
</form> 
</table> 
</center> 
</BODY> 
</HTML>



simple_mail.php

<?php 
  
if(empty($_POST['mail_to'])) exit("Введите адрес получателя"); 
  
// проверяем правильности заполнения с помощью регулярного выражения 
  
if (!preg_match("/^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}$/i"$_POST['mail_to'])) exit("Введите адрес в виде somebody@server.com"); 
  
$picture ""
  
// Если поле выбора вложения не пустое - закачиваем его на сервер 
  
if (!empty($_FILES['mail_file']['tmp_name'])) 
  { 
    
// Закачиваем файл 
    
$path $_FILES['mail_file']['name']; 
    if (
copy($_FILES['mail_file']['tmp_name'], $path)) $picture $path
  } 
  
$thm $_POST['mail_subject'];
  
$msg $_POST['mail_msg'];
  
$mail_to $_POST['mail_to'];
  
// Отправляем почтовое сообщение 
  
if(empty($picture)) mail($mail_to$thm$msg); 
  else 
send_mail($mail_to$thm$msg$picture); 
  
// Вспомогательная функция для отправки почтового сообщения с вложением (Trianon)
  
function send_mail($mail_to$thema$html$path)   
  { if (
$path) {  
    
$fp fopen($path,"rb");   
    if (!
$fp)   
    { print 
"Cannot open file";   
      exit();   
    }   
    
$file fread($fpfilesize($path));   
    
fclose($fp);   
    }  
    
$name "file.ext"// в этой переменной надо сформировать имя файла (без всякого пути)  
    
$EOL "\r\n"// ограничитель строк, некоторые почтовые сервера требуют \n - подобрать опытным путём
    
$boundary     "--".md5(uniqid(time()));  // любая строка, которой не будет ниже в потоке данных.  
    
$headers    "MIME-Version: 1.0;$EOL";   
    
$headers   .= "Content-Type: multipart/mixed; boundary=\"$boundary\"$EOL";  
    
$headers   .= "From: Adress@info.ru";  
      
    
$multipart  "--$boundary$EOL";   
    
$multipart .= "Content-Type: text/html; charset=windows-1253$EOL";   
    
$multipart .= "Content-Transfer-Encoding: base64$EOL";   
    
$multipart .= $EOL// раздел между заголовками и телом html-части 
    
$multipart .= chunk_split(base64_encode($html));   

    
$multipart .=  "$EOL--$boundary$EOL";   
    
$multipart .= "Content-Type: application/octet-stream; name=\"$name\"$EOL";   
    
$multipart .= "Content-Transfer-Encoding: base64$EOL";   
    
$multipart .= "Content-Disposition: attachment; filename=\"$name\"$EOL";   
    
$multipart .= $EOL// раздел между заголовками и телом прикрепленного файла 
    
$multipart .= chunk_split(base64_encode($file));   

    
$multipart .= "$EOL--$boundary--$EOL";   
      
        if(!
mail($mail_to$thema$multipart$headers))   
         {return 
False;           //если не письмо не отправлено
      
}  
    else { 
//// если письмо отправлено
    
return True;  
    }  
  exit;  
  }
?>



   

Сообщения:  [1-3] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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