|
|
|
| Имеется много сабжевых тем, только почему-то отвечать в тех темах нельзя. Посему новая ветка:
Проблема следующая. Работаю с Apache на локальном компьютере. Поставил sendmail (indigomail 3.10 trial). В php.ini прописал путь к нему. Скрипт, отправляющий письмо, выполняется на ура, т.е. mail() возвращает 1. Выполнял скрипт и при подключенном инете. Письма адресатам не доходят. Вопросы следующие:
1. Как посмотреть ошибки, которые возникают при работе sendmail'а ? В одной из документаций говорится о каталоге var\log\mail - его я нигде не нашёл. В каталоге установки sendmail'а имеется единственный лог: sendmail.log. Но туда ничего не записывается при отправке писем.
2. Верно ли я проинициализировал переменные sandmail'а:
[OPTIONS]
;Mail servers host name
MAILSERVER=localhost
;Default value for senders email address
FROM=cyrax@newmail.ru
;Default value for reply-to address
REPLYTO=cyrax@newmail.ru
;Registration key
REGKEY=none
;Authenticate to SMTP sever (yes=y)
AUTHENTICATE=n
;User name for authentication
USERNAME=
;password for authentication
PASSWORD=
3. Верно ли я указал параметры в php.ini:
[mail function]
; For Win32 only.
;SMTP = localhost
sendmail_path = "C:\Program Files\Sendmail"
smtp_port = 25
4. Что из себя представляет заглушка для писем, которую ставит Denver. Можно ли сделать такую же без denver'а ? Т.е. мне нужно перехватить отправляемые письма и посмотреть, как они будут выглядеть глазами адресата (локально). | |
|
|
|
|
|
|
|
для: Cyrax
(01.12.2007 в 14:01)
| | 3.
[mail function]
; For Win32 only.
;SMTP = localhost
;smtp_port = 25
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = \usr\sbin\sendmail -t -i
Если речь о денвере.
4. Заглушка как раз и "ложит" в папку tmp\!sendmail Денвера ваши "отправленные" письма. | |
|
|
|
|
|
|
|
для: Cyrax
(01.12.2007 в 14:01)
| | Sendmail for Windows V2.02 at Sat Mar 17 16:07:51 2007
[OPTIONS]
AUTHENTICATE=y
USERNAME=xxx
PASSWORD=xxx
;Mail servers host name
MAILSERVER=smtp.xxx.ru
;Default value for senders email address
FROM=xxx
;Mail servers IP port
PORT=25
;Timeout interval value when sending mail in seconds
TIMEOUT=500
;Registration key
REGKEY=xxx
;Default value for reply-to address
REPLYTO=xxx
[mail function]
SMTP = C:\sendmail\sendmail.exe -t
smtp_port = 25
sendmail_from = тоже самое что было выше
sendmail_path = C:\sendmail\sendmail.exe -t
в пхп коде отправляю с хедером
$headers = "From: " . $from . "\n";
$from - одно и тоже везде. и в пхп.ини и в конфиге сендмайла (REPLYTO, FROM)
все доходит на ура
>Выполнял скрипт и при подключенном инете
а при отключенном тоже не доходит? а как оно дойдет? | |
|
|
|
|
|
|
|
для: RV
(01.12.2007 в 14:15)
| | Работаю без всяких денверов. Стоит Apache, PHP, MySQL. Всё настроено, всё работает. На сервер провайдера ничего не закачивал. Работаю на своём компе.
Поставил sendmail. В его конфиге параметров PORT, TIMEOUT нет.
1. Что нужно указать в параметре MAILSERVER, ? В http://far.h1.ru/serv/apache/winnt4.html рекомендуют указать localhost, RV рекомендует какой-то конкретный SMTP-сервер указать. Ничего не понятно...
2. В php.ini нужно указывать и sendmail_path, и SMTP ? В книге "PHP 5" Котерова и Костарёва пишут, что эти параметры взаимоисключающие...
3. sendmail.exe в момент выполнения php-метода mail() должен висеть в памяти, как, скажем, Apache? В http://far.h1.ru/serv/apache/winnt4.html пишут, что sendmail в момент запуска скрипта должен быть запущен. Т.е. он должен висеть в памяти ? Тогда как его загрузить в память ?
4. В результате "опытов" с sendmail.exe прихожу к выводу, что mail() выполняет строку, указанную в переменной sendmail_path файла php.ini + передаёт ему параметры. Причём если эта переменная задана (не важно - правильно, неправильно), то mail() возвращает true, не задана - возвращает false.
Задал эту переменную: sendmail_path = "C:\GPL\Sendmail\sendmail.exe -t". Выполняю скрипт - sendmail пишет в логах:
Sending mail from Cyrax@newmail.ru to cyrax@newmail.ru,cyrax-temp@mail.ru
Subject: =?windows-1251?B?xO7h8PvpIOTl7fwh?=
Error: connect failed
Message delivery failed
И не понятно, что за коннект failed - коннект с нетом или коннект с SMTP-сервером (инет есть)... | |
|
|
|
|
|
|
|
для: RV
(01.12.2007 в 14:15)
| | Параметры у меня сейчас такие:
[OPTIONS]
;Mail servers host name
MAILSERVER=localhost
;Default value for senders email address
FROM=cyrax@newmail.ru
;Default value for reply-to address
REPLYTO=cyrax@newmail.ru
;Registration key
REGKEY=Cyrax:ENT:20071101,cyrax-station,31047
;Authenticate to SMTP sever (yes=y)
AUTHENTICATE=n
;User name for authentication
USERNAME=
;password for authentication
PASSWORD=
|
[mail function]
; For Win32 only.
;SMTP = localhost
SMTP = "C:\GPL\Sendmail\sendmail.exe -t"
smtp_port = 25
; For Win32 only.
sendmail_from = cyrax@newmail.ru
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "C:\GPL\Sendmail\sendmail.exe -t"
|
| |
|
|
|
|
|
|
|
для: Cyrax
(01.12.2007 в 20:52)
| | у меня почта на обычном мейле (пусть будет меил.ру)
сервер на локалхосте (апач + пхп)
вот я с помощью этой почты и отправляю письма. этот сендмеил это и делает.
MAILSERVER это смтп сервер моей почты (с батом работали? тоже самое, раздел отправка писем).
если вы работаете через почту cyrax@newmail.ru
то и меилсервер должны указывать ньюмейла (а не локалхост), имя, пароль для этого ящика, AUTHENTICATE=n скорее всего y
>Error: connect failed
у вас в MAILSERVER указано локалхост. чего бы он подключился?
книг Котерова к сожалению не читал. не могу знать кто и что исключает.
создайте батник в папке с сендмеилом и выполните
sendmail -messagefile=1.txt -subject="This is the subject" cyrax@newmail.ru
pause
скорее всего унас разные версии сендмейла | |
|
|
|
|
|
|
|
для: RV
(02.12.2007 в 03:48)
| | А я использую заглушку - проверить быстро результат на локалке можно, а реальную отправку проверяю через Personal SMTP Server. | |
|
|
|
|
|
|
|
для: sim5
(02.12.2007 в 05:40)
| | >А я использую заглушку - проверить быстро результат на локалке можно
Что за заглушка ? Мне нужно реализовать заглушку без использования денвера...
> а реальную отправку проверяю через Personal SMTP Server.
Так ведь для проверки отправки можно и sendmail'ом обойтись, указав какой-нибудь существующий smtp-сервер, где ты зарегистрирован... | |
|
|
|
|
|
|
|
для: Cyrax
(02.12.2007 в 09:38)
| | В Денвере sendmail и работает как заглушка, никуда ничего не отправляя, а ложит письма в паку tmp\!sendmail. | |
|
|
|
|
|
|
|
для: sim5
(02.12.2007 в 10:11)
| | Тогда как мне мой sendmail сделать заглушкой ? | |
|
|
|
|
|
|
|
для: Cyrax
(02.12.2007 в 11:51)
| | Сделать так как в Денвере видимо. | |
|
|
|
|
|
|
|
для: sim5
(02.12.2007 в 12:01)
| | >Сделать так как в Денвере видимо.
А это поможет ? | |
|
|
|
|
|
|
|
для: Cyrax
(02.12.2007 в 12:09)
| | :)) Думаю да, у меня ведь сендмейл не шлет письма во "внешний мир" из под Денвера. | |
|
|
|
|
|
|
|
для: sim5
(02.12.2007 в 12:22)
| | lol:
А теперь серьёзно...
(вопрос, думаю, известен) | |
|
|
|
|
|
|
|
для: Cyrax
(02.12.2007 в 13:10)
| | Могу и серьезно. Ну если на Денвере работает, то почему это не должно работать у вас? Я стал использовать отдельный SMTP сервер после глюков с почтой на mail.ru (нужна была проверка реальной отправки), а заглушка как работала так и работает. Возьмите Денвер и гляньте как все в нем сделано. | |
|
|
|
|
|
|
|
для: sim5
(02.12.2007 в 13:26)
| | >Возьмите Денвер и гляньте как все в нем сделано.
Что значит глянуть ? Денвер я ставить не собираюсь, т.к. после него работоспособность системы "Apache + PHP + MySQL" не восстановишь... | |
|
|
|
|
|
|
|
для: Cyrax
(02.12.2007 в 15:33)
| | Кто вам такое сказал? Денвер вообще ничего в систему не забрасывает, и нигде в реестре не прописывается. Можете его спокойно установить, не указывая запускать виртуальный диск при входе в ситему (а укажите, ничего страшного, из Автозапуска ярлык выбросите и все). Если вы не будете стартовать ярлыком Денвер, то он в системе будет просто "Отсутствовать" - смотрите на здоровье. | |
|
|
|
|
|
|
|
для: sim5
(02.12.2007 в 15:42)
| | > Денвер вообще ничего в систему не забрасывает
А php.ini он куда девает ? Как запускает Apache, минуя реестр ?
Кроме того, MySQL поставит старую версию + в реестр пропишет... Как потом разгребать всё это ? | |
|
|
|
|
|
|
|
для: Cyrax
(02.12.2007 в 17:53)
| | Никуда не девает, оно спокойно лежит в паке, которую выберете в качестве установке Денвера, \usr\local\php5. Я же вам сказал - ничего не пишется в реестр, не нужен реестр ни Apache, ни MySQL, ни PHP. Удалите потом Денвер вот и все, ничего разгребать не придется. | |
|
|
|
|
|
|
|
для: sim5
(02.12.2007 в 17:57)
| | Как по мне, php.ini должен лежать в папке windows...
А при установке MySQL и Apache в реестр они у меня прописываются...
При этом в составе денвера будёт одно старьё...
И как происходит работа со службами, минуя реестр ? | |
|
|
|
|
|
|
|
для: Cyrax
(02.12.2007 в 18:03)
| | Во-первых Денвер, это не старье, РНР5, пожалуйста, MySQL нужной вам версии, пожалуйста, нужны расширения, пожалуйста... А во-вторых, вас что интересует, почему так "не красиво" распоряжается Денвер с php.ini или вам нужно выяснить о заглушке? Вообще, для приложений расположение их INI-файлов в системном каталоге, условие не обязательное, да и записи в реестре, тоже самое. | |
|
|
|
|
|
|
|
для: sim5
(02.12.2007 в 18:09)
| | > или вам нужно выяснить о заглушке?
Уже теряю надежду... | |
|
|
|
|
|
|
|
для: Cyrax
(02.12.2007 в 18:14)
| | Волков бояться, не пить шампанского. ) | |
|
|
|
|
|
|
|
для: sim5
(02.12.2007 в 18:48)
| | Уж как-нибудь постараюсь...
Будемсс ждать... | |
|
|
|
|
|
|
|
для: sim5
(02.12.2007 в 15:42)
| | Денвер скорее всего тоже исползует порт 80, поэтому другая связка будет недоступна | |
|
|
|
|
|
|
|
для: Faraon
(02.12.2007 в 21:53)
| | Использует, но когда запущен. | |
|
|
|
|
|
|
|
для: sim5
(02.12.2007 в 10:11)
| | Как мне сделать заглушку ? | |
|
|
|
|
|
|
|
для: RV
(02.12.2007 в 03:48)
| | C smtp.mail.ru письма отправляются на ура - и на mail.ru, и на newmail.ru.
А вот с smtp.newmail.ru имеются проблемы аутентификации:
Error: Unexpected response: 535 authorization failed (#5.7.0)
Expected ^235
Message delivery failed
|
Поставил:
AUTHENTICATE=y
USERNAME=...
PASSWORD=...
smtp-сервер, логин и пароль указываю верно - проверил.
На сайте newmail.ru пишут про smtp-сервер:
smtp.newmail.ru
Внимание! Для доступа к SMTP нужно включить аутентификацию.
|
Эта аутентификация, как я понимаю, и есть AUTHENTICATE=y с логином и паролем...
В чём может быть проблема ? | |
|
|
|
|
|
|
|
для: Cyrax
(02.12.2007 в 09:34)
| | юзернейм неправильный | |
|
|
|
|
|
|
|
для: RV
(02.12.2007 в 11:44)
| |
Cyrax- это правильный USERNAME. Пробовал и с маленькой буквы - та же ошибка.
По этому логину и паролю я нормально захожу на свою почту непосредственно через их сервер... | |
|
|
|
|
|
|
|
для: Cyrax
(02.12.2007 в 11:49)
| | сменить почту, найти другую версию сендмейла | |
|
|
|