PHP: отправка E-mail с помощью метода mail()

интернет программирование php e-mail

Пытаюсь разобраться с отправкой данных формы с пом. mail(), не изучая остальной php. Вроде всё сделал, всё красиво и логично, но - не работает. Поискал, у кого какие ошибки возникали - нашёл, что вроде дожен быть php.ini, в котором должен быть указан smtp-сервер. Это так? А где тогда должен быть php.ini - в корне сайта? Как он цепляется при работе mail() - автоматически? И хотелось бы пример работающего варианта файла php.ini

Примечание:
NetRain: Используя Ваши сравнения, я скорее 20 лет ездил как раз на авто (см. http://winkniga.ru), а теперь оказался в кабине самолёта. И решил, что завести двигатели и проехать чуток по взлётному полю я уж как-нибудь смогу... а лететь мне и не нужно.

Примечание:
eLdi007: Причём тут linux? У меня на компе вообще винды.

Примечание:
Epsiloncool: я вообще-то думал, что выполнение php-скриптов (и в частности отсылку почты) обеспечивает ПО на хостинге. Это казалось логичным - раз уж оно обеспечивает принятие почты на мой домен, то и отправку должно обеспечивать тоже... Наверное, я всё-таки ошибался, раз тут какие-то дефолтовые установки и куча разных каталогов...

Примечание:
DF777: спасибо, буду посмотреть...

Примечание:
So-nik: как раз по интернет-примерам и делал. Правда, вот на php-mail.ru ещё не был...

Примечание:
Epsiloncool_2: я хотел, чтобы хостинг-сервер отправил моё письмо (данные формы, заполненной на сайте), вот и всё. При этом должно быть не важно, на какой платформе работает сервер у хостинг-провайдера, в каких папках там, на сервере у хостинг-провайдера, лежат php-настройки и т.п.
Ещё раз повторю, просмотрев кучу примеров использования mail() в Интернете, я решил, что выполнение php-скрипта обеспечивает сервер хостинга, а не компьютер/планшет/смартфон конечного юзверя, который в данный момент смотрит сайт. Это было бы логично - ибо откуда на компе/планшете пользователя, который зашёл на сайт и заполняет форму, возьмётся установленный php? Но если я ошибался, то вопрос снимается.

Примечание:
Epsiloncool_3: как раз пользуюсь вариантом 1 и хочу перейти на вариант 2. Пока не удаётся, но я не отчаиваюсь :-)
HTML я знаю, с mailto было бы всё хорошо лет 10-15 назад :-(.
А сейчас никакие аутлуки и прочее ни у кого не настроено, все пользуются интернет-почтой: яндексом, мейлом, рамблером, гуглом... И вот представьте, вы просто нажимаете на сайте на кнопку "Отправить письмо", а Ваш комп 15-20 секунд шуршит и после этого предлагает настроить Outlook Express... А на Андроиде и вообще вместо нужного адреса кому отправляется письмо подставляет хрен знает какой...

Примечание:
Epsiloncool_4: не работал именно сложный пример... хотелось, чтобы всё было красиво. Упрощённый пример сработал - по крайней мере, письмо пришло, Остальное - рабочие моменты, буду решать.

Всем большое спасибо, больше всего помог, как ни странно, slo_nik. По его подсказке я нашёл на php-mail.ru работающий вариант, а также ещё много нужно и интересного по теме.
Ответы:
а поиск google уже отменили?
уже всё расписано до мелочей, главное не лениться искать
да, и так тоже. php.ini лежит в папке самого php, в зависимости от дистрибутива linux эта папка может быть разной, но общие признаки как ее найти есть. Но в целом, писать инструкцию долго и нудно, ибо сама по себе функция mail() весьма баганутая и вопросов еще больше будет потом, лучше использовать библиотеки вроде PHPMailer, но чтоб всетаки ей воспользоваться, вам таки придется учить php
поделюсь своей находкой в интернете
я этот скрипт немного изменил
суть в том , чтобы  
-сначала настроить скрипт на уже имеющуюся почту
-потом подключать данный скрипт в нужных местах
-только изначально определив следующие переменные
В настройках php.ini указывается путь к программе-мейлеру. По умолчанию это "/usr/sbin/sendmail -t -i" и как правило при дефолтовой установке sendmail он ставится именно туда, поэтому данную настройку редко приходится править. Есть ещё параметры, касающиеся smtp. Они нужны для того, чтобы указать sendmail'у, что вы будете использовать внешний smtp-сервер для пересылки почты. Некоторые мейлеры могут сами выполнять функции smtp, поэтому эта настройка будет игнорироваться.
Что делает функция mail() ? А делает она очень простую вещь: она дописывает переданные в неё параметры в конец строки sendmail'а, указанной в php.ini и запускает полученную команду на исполнение. Сама функция mail() ничего никуда не отправляет, у вас должен быть настроенный мейлер в системе.
Я пытаюсь ездить на автомобиле, не зная и не желая знать даже средств управления им. И у меня не получается свернуть на перекрестке. На форумах говорят про какой-то руль, но это как? Он должен быть у меня под сиденьем? Или он ложится в багажник на перекрестке? Хотелось бы увидеть пример работающего положения руля в багажнике.
Примерно так выглядит ваш подход к решению задачи.
Так ведь если есть опыт разработки, то можно просто подсмотреть в документации по нужной платформе. У PHP она достаточно хорошо и просто написана :-) Глянули в первые главы о настройке, потом в справочнике посмотрели на mail() :-)
Да и после разработки под вин PHP должен казаться предельно простым, только внимания чуть больше требует, т. к. свобод больше дает по сравнению с C/C++/C#/Pascal/Delphi и тд :-)
Уважаемый Kniga, рекомендую вам не вступать в словесные перепалки, а вдуматься в то, что я написал и задать наводящие вопросы о том, что из этого вы не поняли.
Если у вас винда, значит дефолтовые настройки придётся поменять, а именно - написать путь до exe-шника мейлера, который вы установите, либо использовать smtp-сервер для windows, который будет отправлять почту сразу с Вашего хостинга на windows (при этом у него должен быть домен и фиксированный IP-адрес).
>>> При этом должно быть не важно, на какой платформе работает сервер у хостинг-провайдера, в каких папках там, на сервере у хостинг-провайдера, лежат php-настройки и т.п.
#7
Kniga, то, что вы говорите - это очевидно.
Если простой пример с mail() не работает - напишите мне в Skype epsil_on, попробуем решить вашу проблему. Скорее всего дело в хостинге.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.