Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не работает функция mail()

1.9K
15 апреля 2005 года
kasap
168 / / 07.04.2005
Привет всем,
У меня возникла проблема с функцией mail()
Сначала думал ошибка в коде, но потом взял пример из мануала и результат тот же. Ошибки никакой не выдает, но и на почтовый ящик ничего не приходит.
Порылся в других форумах, откуда узнал, что вероятно это может быть из-за неправильной настройки php.ini/ В частности в поле smtp.
Я его раскомментировал и прописал smtp-эшник сервера, потом все перезагрузил, но результат тот же.
Как я понял проблема довольно распространенная, но тем не менее более или менее исчерпывающий ответ не встретил.
Подскажите пожалуйста, как мне настроить все и как решить эту проблему?
6.7K
16 апреля 2005 года
Domovoy
25 / / 15.12.2004
Цитата:
Originally posted by kasap
Привет всем,
У меня возникла проблема с функцией mail()
Сначала думал ошибка в коде, но потом взял пример из мануала и результат тот же. Ошибки никакой не выдает, но и на почтовый ящик ничего не приходит.
Порылся в других форумах, откуда узнал, что вероятно это может быть из-за неправильной настройки php.ini/ В частности в поле smtp.
Я его раскомментировал и прописал smtp-эшник сервера, потом все перезагрузил, но результат тот же.
Как я понял проблема довольно распространенная, но тем не менее более или менее исчерпывающий ответ не встретил.
Подскажите пожалуйста, как мне настроить все и как решить эту проблему?



если ты тестил скрипт на бесплатном хосте, то это из-за хостинга, не на всех бесплатных хостах она включена, лучше тести на платных

а если на платном тестил, то выложи код, который ты тестил, а мы посмотрим, может все-таки ты в чем-то ошибся

3.8K
16 апреля 2005 года
andrey_IMS
30 / / 08.02.2005
Никогда с таким не сталкивался, но вот рабочий примерБ как я юзаю:
if(isset($HTTP_POST_VARS["mail"])and isset($HTTP_POST_VARS["name"])and isset($HTTP_POST_VARS["adres"]))
{
$n=$HTTP_POST_VARS["name"];
$m=$HTTP_POST_VARS["mail"];
$a=$HTTP_POST_VARS["adres"];
if($n=="" or $m=="" or $a==""){echo"<h5 align=\"center\">Не все поля заполнены!</h5>";
echo"<a href=\"contact.php\">Вернутся назад и заполнить форму</a>";exit();}
mai("andrey_IMS@mail.ru","Сайт",$m." ".$a." ".$n);
echo"<h5>Ваше письмо отправленно!</h5>";
}
291
16 апреля 2005 года
gufy
703 / / 08.01.2003
ну, раз он правил php.ini, то вряд ли это был хостинг - скорее всего, локалка.
вопрос такой - а smtp сервер установлен и работает?
если да, то запусти скрипт еще раз и запости последние строчки error.log apache'а
1.9K
16 апреля 2005 года
kasap
168 / / 07.04.2005
Цитата:
Originally posted by gufy
ну, раз он правил php.ini, то вряд ли это был хостинг - скорее всего, локалка.
вопрос такой - а smtp сервер установлен и работает?
если да, то запусти скрипт еще раз и запости последние строчки error.log apache'а


Да, smtp сервер настроен, так как на сервере есть перловский скрипт, который осуществляет массовую рассылку. Но я с перлом весьма туго, поэтому приходится обходиться php.
Скрипт, которым проверял работает ли отправка почты, был примерно таким:

$mail=mail("dimonnello@mail.ru", "Проверка почты", "Проверка почты", "From SRSC");
if(isset($mail)) {
echo "Письмо отправлено";
}
else {
echo "Письмо не отправлено";
}

Скрипт этот никакой ошибки не выдавал и послушно сообщл, что письмо отправлено. После этого я взял пример из мануала и тот же результат. Еще скачал пару скриптов с иннета, более сложных, но и они не смогли помочь.
Потом отрыл инфу, что надо настроить php.ini.
Я изменил в нем строку:

SMTP = dc.srsc.ru; for Win32 only

dc.srsc.ru - наш smtp сервер.

Перезагрузил сервер - результата нет.
Пробовал вместо dc.srsc.ru писать ip-адрес, но тоже не помогло.
Проверить, то, что вы мне посоветовали смогу не раньше понедельника :( но все равно большое всем спасибо.

1.9K
03 мая 2005 года
kasap
168 / / 07.04.2005
Цитата:
Originally posted by gufy
ну, раз он правил php.ini, то вряд ли это был хостинг - скорее всего, локалка.
вопрос такой - а smtp сервер установлен и работает?
если да, то запусти скрипт еще раз и запости последние строчки error.log apache'а



Пробовал то, что вы посоветовали мне. Но ничего не работает :( Скрипт пишет, что письмо отправлено, но на ящик ничего не приходит.
Может быть дело в php? К примеру какую-нибудь библиотеку подключить надо? Дело в том, что кажется в 5 версии php в php.ini есть библиотека php_smtp.dll. А у меня PHP Version 4.3.10, но в php.ini такая библиотека не указана. Подскажите как мне решить эту проблему.

4
03 мая 2005 года
mike
3.7K / / 01.10.2002
Возможно письмо прибивается почтовым сервером, антиспами фильтром или антивирусом. (У меня так происходит)

Твое бы письмо точно не дошло. Так как в заголовке не может быть русским символов.

Если нужные русские символы в заголовке, то их нужно кодировать в Quoted Printable или BASE64

From SRSC тоже неверно.

Например:

 
Код:
$mail=mail("dimonnello@mail.ru", "=?KOI8-R?Q?=F5=D7=C1=D6=C1=C5=CD=D9=C5!!?=", "Проверка почты", "From: SRSC");
1.9K
03 мая 2005 года
kasap
168 / / 07.04.2005
Цитата:
Originally posted by mike
Возможно письмо прибивается почтовым сервером, антиспами фильтром или антивирусом. (У меня так происходит)

Твое бы письмо точно не дошло. Так как в заголовке не может быть русским символов.

Если нужные русские символы в заголовке, то их нужно кодировать в Quoted Printable или BASE64

From SRSC тоже неверно.

Например:

 
Код:
$mail=mail("dimonnello@mail.ru", "=?KOI8-R?Q?=F5=D7=C1=D6=C1=C5=CD=D9=C5!!?=", "Проверка почты", "From: SRSC");



А как тогда с этим бороться? Как проверить что письма дейсвительно блокируются антиспамером или сервером?

 
Код:
$mail=mail("dimonnello@mail.ru", "=?KOI8-R?Q?=F5=D7=C1=D6=C1=C5=CD=D9=C5!!?=", "Проверка почты", "From: SRSC");


Это тоже не помогло :( Уже и не знаю, что еще сделать, чтобы все работало.
70K
21 марта 2011 года
asd1
1 / / 21.03.2011
а может юзать mail, а не mai ?
80K
29 января 2012 года
sivenkov
1 / / 29.01.2012
Если у тебя серв стоит на локалке и ты пользуешься Денвером, то он блокирует все исходящие письма и помещает их к себе в папку WebServers\tmp\!sendmail
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог