![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Serebrus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 333 Регистрация: 22.5.2007 Где: Ташкент Репутация: нет Всего: нет |
Привет друзья.
Довненько необщались. Как жизнь? При отправке почты через mail, выводится такая ошибка:
Что посоветуете делать? Как я знаю SMTP же таки-так работает в 25 ом порту?! Это сообщение отредактировал(а) Serebrus - 8.10.2008, 13:47 |
|||
|
||||
SneG0K |
|
|||
![]() Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Попробуй например на smtp.mail.ru
Если никак то тогда давай больше кода... |
|||
|
||||
DizelGenerator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 15.6.2008 Репутация: 1 Всего: 1 |
я так понимаю, это на локальном сервере проблема? А mail-сервер-то на локалхосте стоит? telnet localhost 25 что говорит?
|
|||
|
||||
Serebrus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 333 Регистрация: 22.5.2007 Где: Ташкент Репутация: нет Всего: нет |
Раньше у меня было установлено пакет Denver а (apache2, php3, mysql4,...). Тогда у меня вообше не было проблем с mail.
А сейчас я меня стоит пакет xampp (php5, mysql5,...). Вот теперь появилось эта проблема. Чесно говоря, я не так хорошо знаю почтовые серверы и все с этеми связанное. Так что при ответе, был бы рад если вы учтете это, и если можно по подробнее напишите. Заране спосибо. |
|||
|
||||
SneG0K |
|
|||
![]() Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Ты сделал то, что тебя просили?
Узнай про сервер на локалке. Попробуй прописать не локальный, а удаленный сервер. И если никак, то выложи хоть кусочек кода. |
|||
|
||||
DizelGenerator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 15.6.2008 Репутация: 1 Всего: 1 |
К сожалению, xamp не использовал, скорее всего там есть такое же красивое решение с мейл-заглушкой, как в Денвере.
Если нет, то как вариант, стянуть из Денвера файлики из папки "\usr\local\sendmail\", положить их куда надо, и в php.ini прописать путь к sendmail:
тогда она будет как в Денвере класть файлики с письмами в /tmp/!sendmail (путь прописан в файле sendmail_stub.pl). Но тогда придется еще и Perl настроить (поставить). Или еще есть вариант: эмулятор sendmail под windows. Но тут он реально пытается слать письма. |
|||
|
||||
Serebrus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 333 Регистрация: 22.5.2007 Где: Ташкент Репутация: нет Всего: нет |
DizelGenerator, я смотрел, путь (sendmail_path) таки-так указан правильно, только единственная разница: в окончании не было "-i". Я добавил, но ошибка не удалилась.
Вот код отправки mail
Это сообщение отредактировал(а) Serebrus - 9.10.2008, 07:47 |
|||
|
||||
DizelGenerator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 15.6.2008 Репутация: 1 Всего: 1 |
Куда указывает sendmail_path, там утилитка-то sendmail.exe сама есть?
Если стоит sendmail_path и указывает на утилитку, то проверьте, что в php.ini заккоментированы строки SMTP = localhost smtp_port = 25 Тут дело не в коде php, а в настройках. |
|||
|
||||
Serebrus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 333 Регистрация: 22.5.2007 Где: Ташкент Репутация: нет Всего: нет |
||||
|
||||
DizelGenerator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 15.6.2008 Репутация: 1 Всего: 1 |
Дак вот заккоментируйте их! Потому что когда они установлены, пхп пытается слать письма сразу соединяясь с SMTP-сервером (хорошо для виндов, где нет sendmail). А вот когда стоит только sendmail_path, то пхп отправляет письма через sendmail (хорошо для UNIX, где это в порядке вещей). |
|||
|
||||
Serebrus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
DizelGenerator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 15.6.2008 Репутация: 1 Всего: 1 |
Значит или вы апач не перезапустили после изменения в php.ini, или php.ini правите один, а подключается другой. Попробуйте через phpinfo(); посмотреть, тот ли файл использует пхп (директива Loaded Configuration File)
Других причин не вижу. |
|||
|
||||
Serebrus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 333 Регистрация: 22.5.2007 Где: Ташкент Репутация: нет Всего: нет |
DizelGenerator, УРА, слава Богу, ошибки НЕТ.
Вы были правы, я исправлял не тот php.ini файл, т.е. не рабочий. При отправке вышло cmd окно, так как sendmail.exe не windows приложение. Появился мальенкий "НО", я не нашол отправленные e-mail (как я знаю, они же должны по умолчанию отправлятся в папку tmp, но там их нет. tmp папка создается при устанавливании пакета xampp) Это сообщение отредактировал(а) Serebrus - 9.10.2008, 14:54 |
|||
|
||||
DizelGenerator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 15.6.2008 Репутация: 1 Всего: 1 |
а что это оно не windows приложение? может быть винда 64 бит? Заглушка из Денвера вообще никакую консоль не вызывает, она просто запускает интерпретатор перла на запуск sendmail_stub.pl . А путь, куда письма кладутся, как раз в перловском файле прописан. Конечно же, перл должен где-то стоять + в перловском файле должен быть верно прописан путь к интерпретатору (чай, не юникс)
Добавлено через 6 минут и 22 секунды хотя ошибаюсь: в Денверовском ехешнике sendmail жестко прописан путь к перлу: ..\..\bin\perl |
|||
|
||||
Serebrus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 333 Регистрация: 22.5.2007 Где: Ташкент Репутация: нет Всего: нет |
Ну чтоже теперь делать, DizelGenerator, как вы шитаете, ракая "реакция" нормальна, т.е. можно ли сказать что все работает?
Просто я уже запарился |
|||
|
||||
DizelGenerator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 15.6.2008 Репутация: 1 Всего: 1 |
нет, нездоровая ситуация. Вам же надо контролировать что там за письма отправляются.
напишите подробнее о возникающей ошибке. Попробовал на 64 бит винде - работает. Может быть вы не тот ехешник скопировали из Денвера - их там много sendmail.exe, но нужен реально один - тот, который в папке usr\local\sendmail\ |
|||
|
||||
Serebrus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 333 Регистрация: 22.5.2007 Где: Ташкент Репутация: нет Всего: нет |
DizelGenerator, вы же сказали что путь отправки писем указан в перловском файле, это вы имели ввиду в Денвере или это не зависит от пакетов (хоть Денвер, хоть xampp)?
И если путь указывается в перловском файле, то где его найти чтоб "переуказать" путь отправки (я не нашел его в папке perl). |
|||
|
||||
DizelGenerator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 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, в самом его начале. Он тоже относительный и считается от папки, где находится сам файл скрипта. |
|||
|
||||
Serebrus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
DizelGenerator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 15.6.2008 Репутация: 1 Всего: 1 |
что пишется в окне? конкретно?
|
|||
|
||||
Serebrus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 333 Регистрация: 22.5.2007 Где: Ташкент Репутация: нет Всего: нет |
В окне ничего не пишется, cmd окно тоже не появляется.
Или же мне следует сравнить все ключевые файлы (php.ini, perl, ...) Денвера и xampp? Как вы шитаете? |
|||
|
||||
DizelGenerator |
|
||||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 15.6.2008 Репутация: 1 Всего: 1 |
Я вас окончательно не пойму уже... что стоит сверить - настройку php.ini в секции mail, размещение папок с sendmail и perl. Я вот все-таки не верю, что в xampp эта пробелма не решается штатными путями.. Есть же там какойто MercuryMail... |
||||
|
|||||
Serebrus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 333 Регистрация: 22.5.2007 Где: Ташкент Репутация: нет Всего: нет |
DizelGenerator, вам спасибо за помощ.
Я решил временно работать в Денвере. |
|||
|
||||
DizelGenerator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 15.6.2008 Репутация: 1 Всего: 1 |
Да собственно не за что ...
Можно конечно сконфигурировать php чтобы он использовал сторонний smtp-сервер (типа mail.ru), но тогда накладываюся ограничения (письма слать можно только себе, да и многие почтовые сервера требуют реального существования адреса отправителя) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |