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

Статус
Закрыто для дальнейших ответов.

jama

Автомастер
Регистрация
15.01.2007
Сообщения
130
Привет всем!!!!
Помогите, пожалуйста. Я уже задолбался искать скрипт отправки сообщения прямо с сайта. Нашел уже кучу, но все либо не то, либо не работает. Стою на платном хостинге, но толку никакого, проблем не меньше чем на бесплатном. PHP знаю точно поддерживается, пинал суппорт хостера, а мне "дружелюбно" ответили, что нет у вас IMAP, хотя знаю точно что в описании хостинга было написано - PHP/IMAP/POP3, еще специально проверял. Короче мутота полная. Мне очень нужен скрипт. Очень надеюсь на помощь! Заранее спасибы...
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
Если нужно просто отправить сообщение с сайта, то на кой тебе IMAP?

Используй функцию mail().
 

jama

Автомастер
Регистрация
15.01.2007
Сообщения
130
С помощью функции mail() тебя перебрасывает на другую страницу, в обычную почту, а мне нужно, чтобы чел заполнил форму, нажал на кнопочку "отправить", а оно мне на ящичек пришло...
 

jama

Автомастер
Регистрация
15.01.2007
Сообщения
130
Мало чего понял, я слаб в английском. Поэтому прошу помочь написать нужный мне скрипт, либо хотябы дать ссылку где его можно взять. Так чтобы данные формы отправлялись на ящик.

З.Ы. Объясните мне, почему когда на этом форуме я кого-то прошу мне помочь, все молчат либо просто пересылают меня на другой сайт либо страницу. Типа иди отсюда тупезень; обидно товарищи, обидно.... А я ведь пришел сюда чтобы спрашивать, и другим помогать что сам понимаю...
 

jama

Автомастер
Регистрация
15.01.2007
Сообщения
130
вы говорили про php???
 

medwoodu

Злобный модер
Регистрация
22.12.2005
Сообщения
1 418
что вы возмущаетесь, вы говорите, сделайте за меня, а мы вам отвечаем: плотите денюшку :)
Яндексом воспользоваться не судьба...
http://byweb.narod.ru/fr/web/docs/2/22.html например
 

jama

Автомастер
Регистрация
15.01.2007
Сообщения
130
Мда.. Сколько?
 

RUSH

Читер
Регистрация
26.01.2006
Сообщения
230
Уточни, какое сообщения и куда?

Если я пронял правильно, то это элементарно...

http://ru.php.net/mail
http://ru.php.net/manual/ru/function.mail.php

Код:
<?php

mail('user@mail.com', 'Test subject', 'Test text');

?>
На всех нормальных хостингах этот скрипт должен работать на "ура".
 

jama

Автомастер
Регистрация
15.01.2007
Сообщения
130
Спасибо что откликнулся! У меня на сайте стоит форма, с заказом запчастей. Там много полей , и мне нужно, чтобы когда все это заполнят, нажмут на кнопку отправить - оно все сразу перешлется на указанный майл. Я мучаюсь, мучаюсь, но где-то похоже либо пробел, либо я вообще все делал неправильно.
 

RUSH

Читер
Регистрация
26.01.2006
Сообщения
230
Ну, если на сайте форма... Тогда так:

Код:
<?php

// Создаем переменную типа string
$content = '';
// Наполняем переменную всеми данными, полученными через POST
foreach ($_POST as $val => $var) $content .= $val . ': ' . $var . "<br />\n";
// Отправляем...
mail('my@mail.com', 'Мой сайт: запчасти', $content);

?>
Экспериментируй...
 

jama

Автомастер
Регистрация
15.01.2007
Сообщения
130
У меня вообще ничего не получается. Все подобные скрипты когда запускаешь, просто пустая страница открывается, и на ящик ничего не отправляется! Может у меня на компе что-то не так? А проблемы именно с этой почтой, у меня на сайте стоит скрипт опроса написанный на php , все отлично работает, а вот с этим никак справиться не могу. :(
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
То что открывается пустая страница — вполне естественно. Скрипт, приведённый RUSH-ем тихо (без всяких выведений сообщений) отправляет сообщение на e-mail и всё.

Что касается того, что на ящик ничего не приходит — у тебя некорректно настроен PHP. На хостинге это в любом случае будет работать.
 

Mr.Death

Active Member
Регистрация
25.05.2006
Сообщения
36
Код:
<?php
  class Mail 
  {
  // создаем переменные, в которых хранится содержимое заголовков
  var $to = '';
  var $from = '';
  var $reply_to = '';
  var $cc = '';
  var $bcc = '';
  var $subject = '';
  var $msg = '';
  var $validate_email = true; 
  // проверяет допустимость почтовых адресов
  var $rigorous_email_check = true; 
  // проверяет допустимость доменных имен по записям DNS
  var $allow_empty_subject = false; 
  // допустимость пустого поля subject
  var $allow_empty_msg = false; 
  // допустимость пустого поля msg
	
  var $headers = array();   
  /* массив $headers содержит все поля заголовка, кроме to и subject*/
	
  function check_fields()
	/* метод, проверяющий, переданы ли все значения заголовков
	и проверку допустимости почтовых адресов */
  {
	if(empty($this -> to))
	{
	  return false;	   
	}
	if(!$this -> allow_empty_subject && empty($this -> subject))
	{
	  return false;	   
	}
	if(!$this -> allow_empty_msg && empty($this -> msg))
	{
	  return false;	   
	}
	/* если есть дополнительные заголовки, помещаем их в массив $headers*/
	if(!empty($this -> from))
	{
	  $this->headers[] = "From: $this -> from";
	}
	if(!empty($this -> reply_to))
	{
	  $this -> headers[] = "Reply_to: $this -> reply_to";
	} 
	// проверяем допустимость почтового адреса	  
	if ($this -> validate_email)
	{
	   if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $this -> to))
	   {
		  return false;
	   }
	   return true;
	}
  }
	
  function send()
  /* метод отправки сообщения */
  {
	 if(!$this -> check_fields()) return true;
	 if (mail($this -> to, htmlspecialchars( stripslashes(trim($this -> subject))),
		htmlspecialchars(stripslashes(trim($this -> msg)))))
	 {
		return true;
	 }else{
		return false;
	 } 
  }
}
?>
Проверочный скрипт (senmail.php)
Код:
<?php
	include("./mail_class.php");
	$mail = new Mail();
	$mail -> to = "kuznetsov@domen.ru"; 
	//сюда подставляется реальный адрес
	$mail -> subject = "test";
	$mail -> msg = "testing...";
	$mail -> msg = "testing...";
	$mail -> rigorous_email_check = 0;
	if($mail->send()){
		echo("Success");
	}else{
		echo("error");
	}
	echo("<br>");
	echo($mail -> msg);   
?>
 

jama

Автомастер
Регистрация
15.01.2007
Сообщения
130
Я короче, этот тестовый скрипт (sendmail.php) скинул на сервак, а у меня пустая страничка открывается, и письмо не пришло.

То что открывается пустая страница — вполне естественно. Скрипт, приведённый RUSH-ем тихо (без всяких выведений сообщений) отправляет сообщение на e-mail и всё.

Что касается того, что на ящик ничего не приходит — у тебя некорректно настроен PHP. На хостинге это в любом случае будет работать.
deMone, если тебе не сложно, то зайди пожалуйста на страницу http://silaautomira.ru/zapchasti.html и подскажи именно для этой формы что нужно, и подойдет ли тот скрипт. Пожааалуйста... А тоя совсем замучался, ни черта не понимаю :(
 

Mr.Death

Active Member
Регистрация
25.05.2006
Сообщения
36
Файл mail_class.php
Код:
<?php
  class Mail 
  {
  // создаем переменные, в которых хранится содержимое заголовков
  var $to = '';
  var $from = '';
  var $reply_to = '';
  var $cc = '';
  var $bcc = '';
  var $subject = '';
  var $msg = '';
  var $validate_email = true; 
  // проверяет допустимость почтовых адресов
  var $rigorous_email_check = true; 
  // проверяет допустимость доменных имен по записям DNS
  var $allow_empty_subject = false; 
  // допустимость пустого поля subject
  var $allow_empty_msg = false; 
  // допустимость пустого поля msg
	
  var $headers = array();   
  /* массив $headers содержит все поля заголовка, кроме to и subject*/
	
  function check_fields()
	/* метод, проверяющий, переданы ли все значения заголовков
	и проверку допустимости почтовых адресов */
  {
	if(empty($this -> to))
	{
	  return false;	   
	}
	if(!$this -> allow_empty_subject && empty($this -> subject))
	{
	  return false;	   
	}
	if(!$this -> allow_empty_msg && empty($this -> msg))
	{
	  return false;	   
	}
	/* если есть дополнительные заголовки, помещаем их в массив $headers*/
	if(!empty($this -> from))
	{
	  $this->headers[] = "From: $this -> from";
	}
	if(!empty($this -> reply_to))
	{
	  $this -> headers[] = "Reply_to: $this -> reply_to";
	} 
	// проверяем допустимость почтового адреса	  
	if ($this -> validate_email)
	{
	   if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $this -> to))
	   {
		  return false;
	   }
	   return true;
	}
  }
	
  function send()
  /* метод отправки сообщения */
  {
	 if(!$this -> check_fields()) return true;
	 if (mail($this -> to, htmlspecialchars( stripslashes(trim($this -> subject))),
		htmlspecialchars(stripslashes(trim($this -> msg)))))
	 {
		return true;
	 }else{
		return false;
	 } 
  }
}
?>
Проверочный скрипт senmail.php
Код:
<?php
	include("./mail_class.php");
	$mail = new Mail();
	$mail -> to = "kuznetsov@domen.ru";
	//сюда подставляется реальный адрес
	$mail -> subject = "test";
	$mail -> msg = "testing...";
	$mail -> msg = "testing...";
	$mail -> rigorous_email_check = 0;
	if($mail->send()){
		echo("Success");
	}else{
		echo("error");
	}
	echo("<br>");
	echo($mail -> msg);  
?>
 

jama

Автомастер
Регистрация
15.01.2007
Сообщения
130
Mr.Death ты же уже это присылал, у меня проверочный скрипт не отправил писё
 

jama

Автомастер
Регистрация
15.01.2007
Сообщения
130
Боже мой, разве больше никто ничего не знает?? :(
 
Статус
Закрыто для дальнейших ответов.
Верх Низ