imho.ws |
![]() |
![]() |
![]() |
# 1 |
Junior Member
Регистрация: 08.07.2002
Адрес: г.Белёв, Тульская обл.
Сообщения: 182
![]() |
![]()
Хочу использовать функцию РНР mail(), но у меня выскакивает ошибка соединения.
Я прочитал, что для ее спользования надо настроить PHP. Прошу помочь мне в этом. В рнр.ini я нашел только несколько строк относительно mail: [mail function] SMTP =localhost ;for win32 only sendmail_from =me@localhost.com ;for win32 only ;sendmail_path = ;for unix only, may supply arguments as well (default is 'sendmail -t -i') Где здесь нужно указать расположение программы электронной почты? (У меня Apache+PHP+MySQL).
__________________
Беспалов Роман |
![]() |
![]() |
# 2 |
Junior Member
Регистрация: 16.05.2002
Адрес: Донецк, Украина
Сообщения: 116
![]() |
Re: Функция РНР mail()
Если ты под Windows, то укажи SMTP=твой хост:порт (на котором живет твой mail сервер). Причем этот самый mail сервер должен быть правильно настроен для этого с точки зрения безопасности!
А если Unix/Linux то в sendmail_path пропиши путь к программе sendmail на твоем серваке. |
![]() |
![]() |
# 4 |
::VIP::
Регистрация: 14.04.2002
Адрес: EE/Tln
Сообщения: 2 288
![]() ![]() ![]() ![]() ![]() ![]() |
поясняю.. нужен почтовый SMTP сервак (то ли 23 то ли 25 порт)..
попробуй http://www.sendmail.org/ <--платная http://www.postcastserver.com/ <-- беспалатная |
![]() |
![]() |
# 5 |
Junior Member
Регистрация: 08.07.2002
Адрес: г.Белёв, Тульская обл.
Сообщения: 182
![]() |
![]()
Спасибо за помощь!
Теперь у меня в SMTP (php.ini) записано: SMTP =mail.tula.net Но теперь другая фишка: Запускается код странички откуда уходит почта; пока запрашивается соединение, она пуста, а когда почта ушла, то "код1" появляется, а "код2" - нет. Соединение после этого автоматически не отключается. <HTML> <body> "код1" <? ... @ $errhan=mail($toaddr, $subject, $textmail); if (!$errhan) echo "Ошибка соединения!"; ?> "код2" </body> </HTML> В чем здесь дело? На сколько я понимаю, реальный сервер будет отправлять почту сразу (?), а как быть с остальной частью моей великолепной страницы? И еще - что значит "правильно настроен с точки зрения безопасности", ведь это не мой сервак, а сервер провайдера? (Да, я под Win98/Me).
__________________
Беспалов Роман |
![]() |
![]() |
# 7 |
Junior Member
Регистрация: 16.05.2002
Адрес: Донецк, Украина
Сообщения: 116
![]() |
Может такое решение подойдет:
Запиши код отправки сообщения отдельным файлом, потом в основном коде после твоего код1 напиши require_once("твой файл с кодом отправки сообщения"); а потом твой код2 Пока почта будет отправляться, должен выполнится твой код2 а после всего этого проверь переменную отправки сообщения на предмет удачного выполнения. |
![]() |
![]() |
# 8 |
Junior Member
Регистрация: 08.07.2002
Адрес: г.Белёв, Тульская обл.
Сообщения: 182
![]() |
![]()
Вот как - оказывается Server Error в этой строке с mail().
А в следующей строке такое: Maximum execution time of 30 seconds exceeded in /имя файла и строки/, какая бы она не была. И почта соответственно никуда не уходит, хотя адреса и явки все заданы верно. А последний вариант я еще не пробовал, посмотрим...
__________________
Беспалов Роман |
![]() |
![]() |
# 9 |
Junior Member
Регистрация: 16.05.2002
Адрес: Донецк, Украина
Сообщения: 116
![]() |
Если пишет Server Error, значит сервак, к которому ты обращаешься не принимает твое письмо, а это скорее всего потому, что ему нужен логин и пароль, вот это и есть настройки безопасности о которых я писал! Либо просто ты не можешь связаться с сервером (не тот порт или еще что-то)
|
![]() |
![]() |
# 12 |
Junior Member
Регистрация: 08.07.2002
Адрес: г.Белёв, Тульская обл.
Сообщения: 182
![]() |
![]()
Большоое спасибо за ответы, особенно mdg и stasiku!
Все работает. Даю ответ сам себе: В php.ini я прописал SMTP =mail.tula.net , а скрипт выполнялся не до конца потому, что не было соединения. Т.е. после срабатывания функции mail() предлагалось установить соединение, а после его разрыва возникала fatal error, которую я уже описывал. Если же сначала установить соединение, а затем отправить почту, то все работает нормально. У меня есть еще вопросы, так что с форумом я не прощаюсь.
__________________
Беспалов Роман |
![]() |