Comments 52
А ещё есть Test Mail Server Tool — бесплатный эмулятор SMTP-сервера для Windows. Висит в трее, всю пришедшую почту складывает в папку на рабочем столе (по умолчанию, настраивается). Делов-то — в
и перезапустить web-сервер. И все вышеуказанные пляски не нужны.
Источник: кросспост из моего мозга.
PS: Вы сеошник или случайно болдами выделили ключевые слова?
php.ini
прописать:
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
и перезапустить web-сервер. И все вышеуказанные пляски не нужны.
Источник: кросспост из моего мозга.
PS: Вы сеошник или случайно болдами выделили ключевые слова?
Кроме того, из документации:
Замечание: The Windows implementation of mail() differs in many ways from the Unix implementation. First, it doesn't use a local binary for composing messages but only operates on direct sockets which means a MTA is needed listening on a network socket (which can either on the localhost or a remote machine).Так что неясно, откуда вы взяли утверждение о необходимости sendmail.
Тоже вариант. Только он почту не отправляет. Хотя, я согласен, что для тестирования такая заглушка подходит больше (все-таки на отправку почты может уйти довольно много времени).
По-поводу жирного шрифта. Наверное многие блоггеры в какой-то степени сеошники. Но в данном случае я старался выделять основные операции, а не ключевые слова. ИМХО текст без выделений читать значительно тяжелее.
По-поводу жирного шрифта. Наверное многие блоггеры в какой-то степени сеошники. Но в данном случае я старался выделять основные операции, а не ключевые слова. ИМХО текст без выделений читать значительно тяжелее.
Зачем нужен целый эмулятор сервера, висящий в трее?
mail() вызывает указанную в php.ini программу и отправляет ей во входной поток текст письма с заголовками.
Можно элементарно сделать свою программу. Даже просто php-скрипт, который скидывает в файл php://stdin и в php.ini прописать "php C:\...\mymail.php"
mail() вызывает указанную в php.ini программу и отправляет ей во входной поток текст письма с заголовками.
Можно элементарно сделать свою программу. Даже просто php-скрипт, который скидывает в файл php://stdin и в php.ini прописать "php C:\...\mymail.php"
см. мое следующее сообщение :)
Можно, но когда только начинаешь заниматься программированием иногда сложно просто запустить готовый скрипт, а не то что написать программу.
P.S. Из собственного опыта :-)
P.S. Из собственного опыта :-)
А вам постоянно нужна отправка писем? К тому же, Test Mail Server Tool занимает в памяти всего два мегабайта, а для тестирования отправки его вполне достаточно.
В Windows далеко не всегда нужна реальная отправка писем, часто достаточно просто детализированного лога.
Потому пару лет назад написал для себя тестовый sendmail который вместо отправки сообщений, пишет все в лог:
Потому пару лет назад написал для себя тестовый sendmail который вместо отправки сообщений, пишет все в лог:
[25.11.2006 15:58:19] /progra~1/sendmail/sendmail -t -i
To: admin@drupal
Subject: Drupal user account details for admin<code>
исходник и готовый exe-шник можно взять <a href="http://fork.org.ua/share/sendmail-test-win32/">тут</a>
установка: распаковать, настройка: добавить в php.ini
<code>[mail function]
sendmail_path = "C:\....\sendmail\sendmail.exe -t"</code>
кстати, есть хороший SMTP-сервер "Spectral Personal SMTP Server" (http://spsmtp.org/)
UFO just landed and posted this here
>>С точки зрения php программиста отправка почты выполняется с помощью стандартной функции mail().
Прелестно конечно, но за всех говорить не надо (:
Давно под виндой, исключительно для тестирования, я брал заглушку sendmail с денвера, проблем меньше и письма складывает в нужную папочку.
Прелестно конечно, но за всех говорить не надо (:
Давно под виндой, исключительно для тестирования, я брал заглушку sendmail с денвера, проблем меньше и письма складывает в нужную папочку.
Аналогично, просто и удобно.
Прошу прощения если кого-то обидел, но я не имел в виду, что программисты не знают (или не должны знать) о том как реально отправляется почта.
Просто, на мой взгляд, установка sendmail, почтового и web серверов это вопросы администрирования, а не программирования.
Просто, на мой взгляд, установка sendmail, почтового и web серверов это вопросы администрирования, а не программирования.
а зачем ставить sendmail?
у меня прописано так:
[mail function]
; For Win32 only.
SMTP = сервер провайдера
smtp_port = 25
sendmail_from = мой почтовый ящик у провайдера
последнее не всегда обязательно
у меня прописано так:
[mail function]
; For Win32 only.
SMTP = сервер провайдера
smtp_port = 25
sendmail_from = мой почтовый ящик у провайдера
последнее не всегда обязательно
а можно как вариант, залить на сервер скрипт, который принимает в параметрах: кому_отправить, тему и само письмо и с локального хоста curl'ом отправить =)
Каждый по-своему извращается)
Каждый по-своему извращается)
я обычно пользуюсь функцией email() которая пытается отправить письмо через mail(), а в случае ошибки складывает это письмо в отдельную папку на диск
Вам большое человеческое спасибо за статью, давно не хватало этой опции на локольном сервере, особенно когда стоит wamp
а стандартный виндовый smtp из состава IIS религия не позволяет запускать?
Статья для школьников.
мда.
>>С точки зрения php программиста отправка почты выполняется с помощью стандартной функции mail().
а потом хостинговые сервера не вылазят из спам-листов. использование mail() выдает уровень программиста, что называется, "с головой".
SMTP-авторизация и удаленный почтовый серв. коннект на 25 порт, ehlo, auth plain..... а mail() у половины шаред-хостеров вообще выключен. "во избежание".
>>С точки зрения php программиста отправка почты выполняется с помощью стандартной функции mail().
а потом хостинговые сервера не вылазят из спам-листов. использование mail() выдает уровень программиста, что называется, "с головой".
SMTP-авторизация и удаленный почтовый серв. коннект на 25 порт, ehlo, auth plain..... а mail() у половины шаред-хостеров вообще выключен. "во избежание".
прАстите а рнр для windows зачем?
...кроме тестирования поделок
...кроме тестирования поделок
Следует отметить, что скрипт, пусть и тестовый, но уязвим для Mail Injection.
Согласен. Этот вариант исключительно для личного пользования на локальном компьютере. Просто хотелось максимально сократить скрипт.
Лучше бы ты его сократил за счет кривого форматирования.
Именно из-за таких "максимально сокращенных" пол-инета и сверкает дырами.
Тем, кто понимает, что к чему, твоя статья не нужна.
А те, кто ей будет пользоваться, сделают единственно доступное им действие - копипаст.
Если бы хотел сократить - вообще надо было форму убрать. Для иллюстрации достаточно отправки инфы на мыло админу.
Именно из-за таких "максимально сокращенных" пол-инета и сверкает дырами.
Тем, кто понимает, что к чему, твоя статья не нужна.
А те, кто ей будет пользоваться, сделают единственно доступное им действие - копипаст.
Если бы хотел сократить - вообще надо было форму убрать. Для иллюстрации достаточно отправки инфы на мыло админу.
до недавнего времени использовал отличный пакет XAMPP (http://www.apachefriends.org/en/xampp.html):
- Apache HTTPD 2.2.8 + Openssl 0.9.8g
- MySQL 5.0.51a
- PHP 5.2.5
- PHP 4.4.8
- phpMyAdmin 2.11.4
- FileZilla FTP Server 0.9.25
- Mercury Mail Transport System 4.52
Все отлично работает и настраивается.
Сейчас разработка пренесена на linux-платформу :)
- Apache HTTPD 2.2.8 + Openssl 0.9.8g
- MySQL 5.0.51a
- PHP 5.2.5
- PHP 4.4.8
- phpMyAdmin 2.11.4
- FileZilla FTP Server 0.9.25
- Mercury Mail Transport System 4.52
Все отлично работает и настраивается.
Сейчас разработка пренесена на linux-платформу :)
Лучший способ послать почту: использовать сокеты
Плохой способ. А потом пользователи таких поделок удивляются, почему письма через грейлист не проходят.
Вы просто не умеете обращаться с SMTP-протоколом. За время пользования на куче хостингов и локально ни одного глюка, в отличие от mail(). Все прекрасно проходит, просто почитайте спецификацию.
Читал и не раз. Вы таки предлагаете реализовать на PHP полноценный MTA с почтовой очередью?
Вы о чем? При чем тут очередь? Я не собираюсь писать почтовый север на PHP, боже упаси :)
Просто отправлять через сокет удобнее и более функционально, если, конечно, вы осилили SMTP-протокол.
Просто отправлять через сокет удобнее и более функционально, если, конечно, вы осилили SMTP-протокол.
А в чем разница? =)
mail отправляет не через сокет, а с голубями?
Или добавляет волшебный заголовок "Дяденьки, не бейте меня, я не спам!!!"?
mail отправляет не через сокет, а с голубями?
Или добавляет волшебный заголовок "Дяденьки, не бейте меня, я не спам!!!"?
Через настроенный по умолчанию MTA. Готовый.
Вы не в теме. Почитайте это: http://ru.wikipedia.org/wiki/%D0%9F%D0%B…
Рекомендую замечательную статью на эту тему:
http://phpclub.ru/detail/article/mail
От себя отмечу что в пункте 5.2 я ставил себе не ArGoSoft Mail Server, с ним были проблемы и к тому же он кажется не бесплатный, а Courier Mail Server. С ним было всё просто и удобно.
http://phpclub.ru/detail/article/mail
От себя отмечу что в пункте 5.2 я ставил себе не ArGoSoft Mail Server, с ним были проблемы и к тому же он кажется не бесплатный, а Courier Mail Server. С ним было всё просто и удобно.
А зачем имя аккаунта оформлять HTML-тегами: <а href='mailtо:accоunt_name@mail.ru'>account_name@mail.ru</а> и прочее?
Из-за этого была ошибка: To many arguments for user commandНаписал просто account_name@mail.ru, помогло
Из-за этого была ошибка: To many arguments for user commandНаписал просто account_name@mail.ru, помогло
Sign up to leave a comment.
PHP mail под Windows