|
|
|
| скажите, где включить разрешение отправки почты ф-ей mail() ? | |
|
|
|
|
|
|
|
для: Blizard
(18.04.2008 в 22:55)
| | а что, оно где то запрещено? | |
|
|
|
|
|
|
|
для: mechanic
(18.04.2008 в 22:58)
| | ну раз не отправляет возможно да | |
|
|
|
|
|
|
|
для: Blizard
(18.04.2008 в 22:55)
| | Это локальная машина или сервер в Интернет? | |
|
|
|
|
|
|
|
для: Blizard
(18.04.2008 в 22:55)
| | Сама функция mail() не отправляет письмо, а передает это задание почтовому серверу, который наверняка у тебя не установлен. | |
|
|
|
|
|
|
|
для: Atheist
(19.04.2008 в 17:00)
| | cheops, сервер в инете
а почта стоит webmail и прекрасно работает, тока вот mail() не работает, может быть код скинуть? | |
|
|
|
|
|
|
|
для: Blizard
(19.04.2008 в 20:57)
| | Сам обработчик у меня вот такой:
<?php
session_start();
$name = $_POST["name"];
$email = $_POST["email"];
$tema = $_POST["tema"];
$message = $_POST["message"];
$code1 = $_POST["mycode"];
$code2 = $_POST["code"];
$name = strip_tags($name);
$lemail = strip_tags($email);
$tema = strip_tags($tema);
$message = strip_tags($message);
$code2 = strip_tags($code2);
if ($code1 != $code2){
$r = "Вы ввели неверный кoд";
$_SESSION["r"] = $r;
header("location:contact.php");
exit();
}
if ($name ==""){
$r = "Вы не указали ваше имя";
$_SESSION["r"] = $r;
header("location:contact.php");
exit();
}
if ($tema ==""){
$r = "Вы не указали тему";
$_SESSION["r"] = $r;
header("location:contact.php");
exit();
}
if ($email ==""){
$r = "Вы не указали почту";
$_SESSION["r"] = $r;
header("location:contact.php");
exit();
}
if ($message ==""){
$r = "Вы не написали текст сообщения";
$_SESSION["r"] = $r;
header("location:contact.php");
exit();
}
$email_arr = explode("@" , $email);
$host = $email_arr[1];
if (!getmxrr($host, $mxhostsarr))
{
$r = "На адрес ".$mail." отправка почты невозможна";
$_SESSION["r"] = $r;
header("location:contact.php");
exit();
}
$mm = mail("тут_моя_почта", $_POST['tema'].' '.$_POST['email'], $_POST['message']);
if (!$mm){
$r = "Ошибка отправки";
}
else
{
$r = "Спасибо, ваше письмо отправлено!";
}
header("location:contact.php");
?>
|
| |
|
|
|
|
|
|
|
для: Blizard
(19.04.2008 в 21:02)
| | А вы тестировали этот скрипт, он работает на локалке или еще где-то..? | |
|
|
|
|
|
|
|
для: Blizard
(19.04.2008 в 20:57)
| | А сервер ваш собственный или у хост-провайдера арендуете? В последнем случае вы сами вряд ли на что повлиять сможете и необходимо трясти службу технической поддержки. | |
|
|
|
|
|
|
|
для: cheops
(20.04.2008 в 11:01)
| | выделенный сервер арендую у друга, он говорит что все должно работать... | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 15:29)
| | и всетаки что делать? | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 17:36)
| |
<?php
echo ini_get('sendmail_path');
?>
|
По выведенному пути реально находится sendmail? | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 15:29)
| | в логах апача что написано? есть ли ошибки? Думаю это направление поиска путей решения будет верным, т.к. если у тебя сервак ну или ВПС - ты к ним доступ должен иметь точно. | |
|
|
|
|
|
|
|
для: Director_Of_Zoo
(20.04.2008 в 21:37)
| | iniget показал:
/usr/sbin/sendmail -t -i | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 22:17)
| | захожу в /usr/sbin/ там нет senmail откуда его туда взять? ) | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 22:21)
| | на самом деле sendmail находится тут /usr/local/sbin/sendmail
причина неотправки может быть в этом? | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 22:22)
| | логи посмотри. | |
|
|
|
|
|
|
|
для: Director_Of_Zoo
(20.04.2008 в 22:35)
| | в логах ничего про это нет, вот насколько я понимаю нужно чтобы в sendmail_path путь должен быть указан /usr/local/sbin/sendmail а где найти этот sendmail_path ? | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 22:55)
| | как в логах нет, если неверно указан почтовый сервак - в логах будет ошибка. Возможно шаловливые ручки не отказались от логов, тогда понятно что нет. Бывает и такое. | |
|
|
|
|
|
|
|
для: Director_Of_Zoo
(20.04.2008 в 22:58)
| | ну дык что делать та? ))) | |
|
|
|
|
|
|
|
для: Blizard
(20.04.2008 в 23:04)
| | Сменить адрес в php.ini на верный | |
|
|
|
|
|
|
|
для: Atheist
(20.04.2008 в 23:40)
| | в php.ini поменял путь, теперь там так:
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
;sendmail_from = me@example.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path = /usr/local/sbin/
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =
|
а было
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
;sendmail_from = me@example.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =
|
но все равно не отправляет | |
|
|
|
|
|
|
|
для: Blizard
(22.04.2008 в 09:41)
| | ;sendmail_path = /usr/local/sbin/ - она как была не рабочей так и осталась, строка то ведь заремирована. )) | |
|
|
|
|
|
|
|
для: sim5
(22.04.2008 в 09:48)
| | ну а как правильно напишите | |
|
|
|
|
|
|
|
для: Blizard
(22.04.2008 в 09:49)
| | написал так
sendmail_path = /usr/local/sbin/
|
все равно | |
|
|
|
|
|
|
|
для: Blizard
(22.04.2008 в 09:49)
| | Если вы хотите, чтобы что-то заработало, то нужно убрать комментарий в строке. Не знаю как у вас, у меня на локалке работает sendmail-заглушка, потому так:
; этого мне не надо
;SMTP = localhost
;smtp_port = 25
; здесь путь к sendmail и параметры его
sendmail_path = \usr\sbin\sendmail -t -i | |
|
|
|
|
|
|
|
для: sim5
(22.04.2008 в 09:56)
| | написал так:
sendmail_path = \usr\local\sbin\sendmail -t -i
|
проверяющий файл такой:
<?php
echo ini_get('sendmail_path');
echo ("<br><br>");
$g = mail("kreggy@bk.ru","тема","сообщение");
if ($g){
echo ("сообщение отправлено<br><br>");
}
else
{
echo ("сообщение не отправлено<br><br>");
}
?>
|
кстате echo ini_get('sendmail_path'); выводит все равно путь /usr/sbin/sendmail -t -i а не \usr\local\sbin\sendmail -t -i вопрос - почему? и почему вообще слэши не в ту сторону? ))))) | |
|
|
|
|
|
|
|
для: Blizard
(22.04.2008 в 10:10)
| | Ну юморист, у вас об этом даже в php.ini написано - потому, что у меня Windows и слеши \, а у вас Unix и нужно так - /. | |
|
|
|
|
|
|
|
для: sim5
(22.04.2008 в 10:12)
| | )))))) неопытный я просто )), слэши поменял на другие, все осталось также )) может дело вообще не в этом? | |
|
|
|
|
|
|
|
для: Blizard
(22.04.2008 в 10:17)
| | Мне трудно сказать в чем дело у вас на сервере. Это может неверный путь (проверить можно по логам), что-то с самим почтовым сервером (его настройками)... Я не занимаюсь сервером, это забота моего хостера. На локальном же компе, для реальной отправки почты, я пользуюсь не sendmail, а другим сервером, настраивая его, и отправляя почту по SMTP. | |
|
|
|