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

Форум PHP

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

 

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

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

тема: Отправка сообщений при помощи формы!

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

 
 автор: cheops   (28.07.2006 в 12:25)   письмо автору
 
   для: Vados   (28.07.2006 в 12:18)
 

Вам для этого понадобится почтовый сервер http://www.softtime.ru/forum/read.php?id_forum=5&id_theme=21083.

   
 
 автор: Vados   (28.07.2006 в 12:18)   письмо автору
 
   для: cheops   (28.07.2006 в 12:01)
 

Хорошо, спасибо!

А чтобы локально у меня была возможность пробовать отправить письма, мне что необходимо?!

Расскажите пожалуйста?

   
 
 автор: cheops   (28.07.2006 в 12:01)   письмо автору
 
   для: Vados   (28.07.2006 в 11:57)
 

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

   
 
 автор: Vados   (28.07.2006 в 11:57)   письмо автору
 
   для: cheops   (28.07.2006 в 11:46)
 

Да с локальной машины.

Скажите, а если я буду использовать это на удалённой?

Как это реализовывается.

А бага там никакого нет!

   
 
 автор: Anwor   (28.07.2006 в 11:50)   письмо автору
 
   для: Vados   (28.07.2006 в 11:43)
 

Возможно, это опечатка, но нашел баг у вас в скрипте - вот в этом месте:

<?php
// Отправляем почтовое сообщение  
  
if(empty($picture)) mail($mail_to$thm$msg);  
  else 
send_mail($mail_to$thm$msg$picture);  
<?
php

Корректно должно работать вот это:

<?php
// Отправляем почтовое сообщение  
if(empty($picture)) {
   
mail($mail_to$thm$msg);
} else {
   
send_mail($mail_to$thm$msg$picture);
}
?>

Вообще какую он ошибку выдает?

   
 
 автор: ЯR   (28.07.2006 в 11:47)   письмо автору
 
   для: Vados   (28.07.2006 в 11:43)
 

в ф-ии mail() ты не ту переменную подставил.
надо mail_to, а не to

   
 
 автор: cheops   (28.07.2006 в 11:46)   письмо автору
 
   для: Vados   (28.07.2006 в 11:19)
 

1) Вы откуда хотите почту отправлять с сервера или локальной машины?
2) Под конкретным адресом что подразумевается? Вы будете каждый раз слать письмо на один и тот же адрес? Тогда просто добавьте в начале строку
<?php
  $_POST
['mail_to'] = "someone@somewhere.ru";
?>

   
 
 автор: Vados   (28.07.2006 в 11:43)   письмо автору
 
   для: Vados   (28.07.2006 в 11:19)
 

Прошу очень нужно, помогите!

   
 
 автор: Vados   (28.07.2006 в 11:19)   письмо автору
 
 

Всем привет!

Задаю, наверное, всем известный до боли вопрос с отправкой писем при помощи формы обратной связи на сайте.

Пример сценария я взял из скриптов: Отправка письма с почтовым вложением.

Так вот у меня такой вопрос, для того, чтобы мне отправлять успешно почту, мне необходим сервер SMTP?

Кроме этого я хотел бы у Вас узнать, что необходимо дописать, чтобы при отправке сообщения - сообщение отправлялось на конкретный адрес, вот пример скрипта:


<?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"); 

  
$_POST['mail_to'] = htmlspecialchars(stripslashes($_POST['mail_to'])); 

  
$_POST['mail_subject'] = htmlspecialchars(stripslashes($_POST['mail_subject'])); 

  
$_POST['mail_msg'] = htmlspecialchars(stripslashes($_POST['mail_msg'])); 

  
$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); 

  
// Вспомогательная функция для отправки почтового сообщения с вложением 

  
function send_mail($to$thm$html$path

  { 

    
$fp fopen($path,"r"); 

    if (!
$fp

    { 

      print 
"Файл $path не может быть прочитан"

      exit(); 

    } 

    
$file fread($fpfilesize($path)); 

    
fclose($fp); 

    

    
$boundary "--".md5(uniqid(time())); // генерируем разделитель 

    
$headers .= "MIME-Version: 1.0\n"

    
$headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n"

    
$multipart .= "--$boundary\n"

    
$kod 'koi8-r'// или $kod = 'windows-1251'; 

    
$multipart .= "Content-Type: text/html; charset=$kod\n"

    
$multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n"

    
$multipart .= "$html\n\n"



    
$message_part "--$boundary\n"

    
$message_part .= "Content-Type: application/octet-stream\n"

    
$message_part .= "Content-Transfer-Encoding: base64\n"

    
$message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n"

    
$message_part .= chunk_split(base64_encode($file))."\n"

    
$multipart .= $message_part."--$boundary--\n"



    if(!
mail($to$thm$multipart$headers)) 

    { 

      echo 
"К сожалению, письмо не отправлено"

      exit(); 

    } 

  } 

?>


Что необходимо исправить?

Заранее спасибо за ответ!

   

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

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

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