Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с mail 
:(
    Опции темы
Serebrus
Дата 8.10.2008, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

Репутация: нет
Всего: нет



Привет друзья.
Довненько необщались.
Как жизнь?

При отправке почты через mail, выводится такая ошибка:
Код

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in D:\www\xampp\htdocs\Archive\admin\order.php on line 49


Что посоветуете делать?
Как я знаю SMTP же таки-так работает в 25 ом порту?!

Это сообщение отредактировал(а) Serebrus - 8.10.2008, 13:47
PM MAIL   Вверх
SneG0K
Дата 8.10.2008, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Попробуй например на smtp.mail.ru
Если никак то тогда давай больше кода...
PM WWW Skype   Вверх
DizelGenerator
Дата 8.10.2008, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 15.6.2008

Репутация: 1
Всего: 1



я так понимаю, это на локальном сервере проблема? А mail-сервер-то на локалхосте стоит? telnet localhost 25 что говорит?
PM MAIL   Вверх
Serebrus
Дата 8.10.2008, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

Репутация: нет
Всего: нет



Раньше у меня было установлено пакет Denver а (apache2, php3, mysql4,...). Тогда у меня вообше не было проблем с mail.

А сейчас я меня стоит пакет xampp (php5, mysql5,...). Вот теперь появилось эта проблема.
Чесно говоря, я не так хорошо знаю почтовые серверы и все с этеми связанное. Так что при ответе, был бы рад если вы учтете это, и если можно по подробнее напишите.

Заране спосибо.
PM MAIL   Вверх
SneG0K
Дата 8.10.2008, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Ты сделал то, что тебя просили? 
Узнай про сервер на локалке. Попробуй прописать не локальный, а удаленный сервер. И если никак, то выложи хоть кусочек кода.
PM WWW Skype   Вверх
DizelGenerator
Дата 8.10.2008, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 15.6.2008

Репутация: 1
Всего: 1



К сожалению, xamp не использовал, скорее всего там есть такое же красивое решение с мейл-заглушкой, как в Денвере.

Если нет, то как вариант, стянуть из Денвера файлики из папки "\usr\local\sendmail\", положить их куда надо, и в php.ini прописать путь к sendmail:
Код

sendmail_path = \там где надо\sendmail -t -i

тогда она будет как в Денвере класть файлики с письмами в /tmp/!sendmail (путь прописан в файле sendmail_stub.pl). Но тогда придется еще и Perl настроить (поставить).

Или еще есть вариант: эмулятор sendmail под windows. Но тут он реально пытается слать письма.
PM MAIL   Вверх
Serebrus
Дата 9.10.2008, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

Репутация: нет
Всего: нет



DizelGenerator, я смотрел, путь (sendmail_path) таки-так указан правильно, только единственная разница: в окончании не было "-i". Я добавил, но ошибка не удалилась.

Вот код отправки mail

Код

if(isset($_POST['con']))
{
 $to='';
 for($i=1; $i<=$_POST['con']; $i++)
 {
  echo $_POST['eml'.$i]."</br>";  
  if($to=='')
  {$to=$_POST['eml'.$i];}else
  {$to=$to.', '.$_POST['eml'.$i];}
 } 
 $subject="Ваш заказ";
 $message="
 <html>
 <head>
  <title>Заказ</title>
 </head>
 <body>
  <table>
    <tr>
      <th>Наименование</th>
    </tr>
    <tr>
      <td>Book 1</td>
    </tr>
    <tr>
      <td>Book 2</td>
    </tr>
  </table>
 </body>
 </html>
 ";
 $headers='Content-type: text/html; charset=windows-1251' . "\r\n";
 $headers.='From: Order Reminder <[email protected]>' . "\r\n";
 mail($to, $subject, $message, $headers);
}


Это сообщение отредактировал(а) Serebrus - 9.10.2008, 07:47
PM MAIL   Вверх
DizelGenerator
Дата 9.10.2008, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 15.6.2008

Репутация: 1
Всего: 1



Куда указывает sendmail_path, там утилитка-то sendmail.exe сама есть?
Если стоит sendmail_path и указывает на утилитку, то проверьте, что в php.ini заккоментированы строки

SMTP = localhost
smtp_port = 25


Тут дело не в коде php, а в настройках.
PM MAIL   Вверх
Serebrus
Дата 9.10.2008, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

Репутация: нет
Всего: нет



DizelGenerator, друг я согласен с тобой.

Цитата(DizelGenerator @  9.10.2008,  09:24 Найти цитируемый пост)
Тут дело не в коде php, а в настройках


sendmail.exe стоит как штык в указанном месте и строки
SMTP = localhost
smtp_port = 25
тоже НЕ закомментированы


PM MAIL   Вверх
DizelGenerator
Дата 9.10.2008, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 15.6.2008

Репутация: 1
Всего: 1



Цитата(Serebrus @ 9.10.2008,  12:27)
и строки
SMTP = localhost
smtp_port = 25
тоже НЕ закомментированы

Дак вот заккоментируйте их! Потому что когда они установлены, пхп пытается слать письма сразу соединяясь с SMTP-сервером (хорошо для виндов, где нет sendmail). А вот когда стоит только sendmail_path, то пхп отправляет письма через sendmail (хорошо для UNIX, где это в порядке вещей).
PM MAIL   Вверх
Serebrus
Дата 9.10.2008, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

Репутация: нет
Всего: нет



DizelGenerator, не знаю даже что сказать, я сделал как вы сказали, но почти без результатов, т.е. результат та же ошибка:


Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in D:\www\xampp\htdocs\Archive\admin\order.php on line 49


Это сообщение отредактировал(а) Serebrus - 9.10.2008, 13:58
PM MAIL   Вверх
DizelGenerator
Дата 9.10.2008, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 15.6.2008

Репутация: 1
Всего: 1



Значит или вы апач не перезапустили после изменения в php.ini, или php.ini правите один, а подключается другой. Попробуйте через phpinfo(); посмотреть, тот ли файл использует пхп (директива Loaded Configuration File)

Других причин не вижу.
PM MAIL   Вверх
Serebrus
Дата 9.10.2008, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

Репутация: нет
Всего: нет



DizelGenerator, УРА, слава Богу, ошибки НЕТ.
Вы были правы, я исправлял не тот php.ini файл, т.е. не рабочий.

При отправке вышло cmd окно, так как sendmail.exe не windows приложение. Появился мальенкий "НО", я не нашол отправленные e-mail (как я знаю, они же должны по умолчанию отправлятся в папку tmp, но там их нет. tmp папка создается при устанавливании пакета xampp)

Это сообщение отредактировал(а) Serebrus - 9.10.2008, 14:54
PM MAIL   Вверх
DizelGenerator
Дата 9.10.2008, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 15.6.2008

Репутация: 1
Всего: 1



а что это оно не windows приложение? может быть винда 64 бит? Заглушка из Денвера вообще никакую консоль не вызывает, она просто запускает интерпретатор перла на запуск sendmail_stub.pl . А путь, куда письма кладутся, как раз в перловском файле прописан. Конечно же, перл должен где-то стоять + в перловском файле должен быть верно прописан путь к интерпретатору (чай, не юникс)

Добавлено через 6 минут и 22 секунды
хотя ошибаюсь: в Денверовском ехешнике sendmail жестко прописан путь к перлу: ..\..\bin\perl
PM MAIL   Вверх
Serebrus
Дата 9.10.2008, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

Репутация: нет
Всего: нет



Ну чтоже теперь делать, DizelGenerator, как вы шитаете, ракая "реакция" нормальна, т.е. можно ли сказать что все работает?

Просто я уже запарился
PM MAIL   Вверх
DizelGenerator
Дата 9.10.2008, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 15.6.2008

Репутация: 1
Всего: 1



нет, нездоровая ситуация. Вам же надо контролировать что там за письма отправляются.

напишите подробнее о возникающей ошибке. Попробовал на 64 бит винде - работает. Может быть вы не тот ехешник скопировали из Денвера - их там много sendmail.exe, но нужен реально один - тот, который в папке usr\local\sendmail\
PM MAIL   Вверх
Serebrus
Дата 9.10.2008, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

Репутация: нет
Всего: нет



DizelGenerator, вы же сказали что путь отправки писем указан в перловском файле, это вы имели ввиду в Денвере или это не зависит от пакетов (хоть Денвер, хоть xampp)?

И если путь указывается в перловском файле, то где его найти чтоб "переуказать" путь отправки (я не нашел его в папке perl).
PM MAIL   Вверх
DizelGenerator
Дата 9.10.2008, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 15.6.2008

Репутация: 1
Всего: 1



внимательнее: я уточнил, что в ваш пакет xampp требуется скопировать 2 файла из папки Денвера usr\local\sendmail\ . Это файл sendmail.exe и sendmail_stub.pl. Как все происходит:

1. пхп при выполнении функции mail ищет настройки в своем php.ini
2. Так как у вас там путь к sendmail, то он запускает утилику sendmail.exe, которую вы скопировали из Денвера
3. Денверовская утилитка sendmail пытается запустить перловский скрипт sendmail_stub.pl с помощью интерпретатора Perl, путь к которому жестко прописан в самом ехешнике (../../bin/Perl.exe). Соответственно, интерпретатор перла должен находится в папке ../../bin/, считая от каталога, где находится sendmail.exe

Если у вас перла нет, то скопируйте еще и папку usr/bin/ из Денвера и разместите ее так, чтоб sendmail.exe ее нашла.

Добавлено через 59 секунд
Да, путь, куда сваливаются письма, прописан в файле sendmail_stub.pl, в самом его начале. Он тоже относительный и считается от папки, где находится сам файл скрипта.
PM MAIL   Вверх
Serebrus
Дата 10.10.2008, 07:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

Репутация: нет
Всего: нет



DizelGenerator, я скопировал файл sendmail_stub.pl в папку sendmail, но нечего не изменилось, все еще выходит cmd окно и отправленных писем в папке tmp (как указано в файле sendmail_stub.pl) нет.

Я сделал так:
-установил пакет Denver полностью;
-скопировал свой проъект в папку home (со всеми настройками, т.е. с вспомогательными папками, ну прочем это не важно)
-НЕ изменил настройки по умолчанию php.ini, perl, ...
-проверил ВСЕ ОТЛИЧНО

DizelGenerator но вапрос остается без ответа: почему после всех исправлений указанными вами проъект несработал в xampp?

Это сообщение отредактировал(а) Serebrus - 10.10.2008, 08:22
PM MAIL   Вверх
DizelGenerator
Дата 10.10.2008, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 15.6.2008

Репутация: 1
Всего: 1



что пишется в окне? конкретно?
PM MAIL   Вверх
Serebrus
Дата 10.10.2008, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

Репутация: нет
Всего: нет



В окне ничего не пишется, cmd окно тоже не появляется.

Или же мне следует сравнить все ключевые файлы (php.ini, perl, ...) Денвера и xampp? Как вы шитаете?
PM MAIL   Вверх
DizelGenerator
Дата 10.10.2008, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 15.6.2008

Репутация: 1
Всего: 1



Цитата

все еще выходит cmd окно

Цитата

cmd окно тоже не появляется.


Я вас окончательно не пойму уже...

что стоит сверить - настройку php.ini в секции mail, размещение папок с sendmail и perl.

Я вот все-таки не верю, что в xampp эта пробелма не решается штатными путями.. Есть же там какойто MercuryMail...
PM MAIL   Вверх
Serebrus
Дата 10.10.2008, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 333
Регистрация: 22.5.2007
Где: Ташкент

Репутация: нет
Всего: нет



DizelGenerator, вам спасибо за помощ. 

Я решил временно работать в Денвере.
PM MAIL   Вверх
DizelGenerator
Дата 10.10.2008, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 15.6.2008

Репутация: 1
Всего: 1



Да собственно не за что ...

Можно конечно сконфигурировать php чтобы он использовал сторонний smtp-сервер (типа mail.ru), но тогда накладываюся ограничения (письма слать можно только себе, да и многие почтовые сервера требуют реального существования адреса отправителя)
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1052 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.