mail() и sendmail

helpme

Новичок
mail() и sendmail

Здрасте.

Не работает функция mail() из-за того, что не было sendmail'a. Выдернул из denver'a sendmail.exe (но не полноценный, а который складывает письма на жестком диске). Но и с ним письма в файлах на диске не сохрняются.

В разделе mail function в php.ini всего 4 параметра, влияющие на работу этой функции. Какие еще параметры помимо четырех вышеупомянутых (smtp, smtp_port, sendmail_from, sendmail_path) могут влиять на работу этой функции?

И еще самый важный вопрос:
я не понимаю какие функции выполняет сам Sendmail. Для чего он нужен? Как я понял он не может работать без smtp сервера.

Объясните ламаку, пожалуйста.
 

kvf77

Red Devil
helpme

с локального компа у тебя дома ничего отправляться не будет. Единственно, если ты будешь обращаться к стороннему SMTP серверу, скажем анонимному или своего провайдера, если он предоставляет такую возможность.
 

helpme

Новичок
объясните лучше, если не тяжело как взаимодействуют SMTP сервер и sendmail? Для чего вообще нужен sendmail?
 

kvf77

Red Devil
helpme
тебе не нужно это знать - вообще - сендмаил это прога которая физически отправляет письма
 

helpme

Новичок
нет, я хочу это понять

ладно, Фаната подожду, придет думаю расскажет мне бестолковому
 

kvf77

Red Devil
helpme

не будет он тебе объяснять - зачем тебе это надо знать? если тебе это надо знать - идешь и читаешь доку по сендмаилу - что за бред ваще
 

Сергей Тарасов

Профессор
Программа sendmail - самый старый и самый широкоиспользуемый MTA(Mail Transfer Agent)

Он как-раз-то и отпрвляет письма. В Денвере написана просто заглушка, которая при вызове из PHP и Perl'а sendmail´а просто складывает письма в лог, но никуда их не отправляет.

По поводу SMTP - то вся почта в интернете ходит по протоколу SMTP.
sendmail является одним из возможных SMTP-серверорв.
 

helpme

Новичок
Сергей Тарасов
все что вы написали я знал, единственное что меня смущает это последняя строчка
sendmail является одним из возможных SMTP-серверорв.
Тогда почему везде пишут, что без SMTP-сервера sendmail ничего отправлять не будет?

Помоему sendmail и smtp сервер - разные вещи...

тем более в интренете я нашел определение sendmail, оно было примерно таким:
sendmail - это функция SMTP сервера, позволяющая отправлять сообщения с помощью скриптов
 

Сергей Тарасов

Профессор
helpme
Все что ты написал неверно.

Отсюда непонятно высказывание "все что вы написали я знал, единственное что меня смущает это последняя строчка"

Если примитивно, то:

sendmail - это программа
При ее вызове с определенными параметрами она отправляет письмо.
Тебе, наверное, знакомая функция PHP mail() собственно и вызывает прорамму(!) sendmail, которая расположена на той же машине, и передает ей свои параметры.

При настройке PHP для работы с SMTP-сервером под этим высказыванием понимается не локальный sendmail, а сторонний сервер!

Еще раз подчеркиваю: sendmail является SMTP-сервером.Только при использовании в скриптах он вызывается не через коннект по порту 25 TCP, а как локальная программа!
 

helpme

Новичок
спасибо

-~{}~ 08.03.06 06:29:

но все-таки не до конца понимаю:

вот сообщение kvf77 (второе сверху):
с локального компа у тебя дома ничего отправляться не будет. Единственно, если ты будешь обращаться к стороннему SMTP серверу, скажем анонимному или своего провайдера, если он предоставляет такую возможность.
но если sendmail является SMTP сервером то почему все пишут, что отправлять он ничего не будет?
 

Mich

Продвинутый новичёк
http://phpclub.ru/talk/showthread.php?s=&threadid=81652&highlight=sendmail
 

kvf77

Red Devil
helpme

слушай, давай ты примешь информацию, что с локального компа он ничего отправлять не будет и перестанешь нам пудрить мозги. СПАМЕРСКОГО робота ты НЕ напишешь. И успокойся на этом. К томуже взлом и кража контента здесь офтопик. А это, я думаю, можно к сему прировнять.
 

helpme

Новичок
да я даже не думал не про какой спам, ты че говоришь
мне бы просто понять схему отправки

можешь объяснить почему с локального компа он ничего не будет отправлять?
 

kvf77

Red Devil
helpme

какое тебе дело почему? ты задал вопрос - тебе ответили. Если тебе надо знать почему - это идешь в интернет и ищешь информацию о протоколах, правилах и так далее. Вопрос исчерпан. Тему зкрываем.
 

helpme

Новичок
ок, я затупил

-~{}~ 09.03.06 10:15:

я настроил, чтобы mail() отправляла письма через сторонний smtp сервер, а именно: smtp.mail.ru, Но ошибка:

Warning: mail(): SMTP server response: 503 Administrative prohibition -- authorization required. Users in your domain are not allowed to send email without authorization.

Но ведь smtp.mail.ru не требует авторизации! Я через него почту отправляю без авторизации the bat'ом!!

Или если не сможете ответить на вопрос выше:
помогите пожалуйста написать заглушку для sendmail'a или где ее взять? Та, которая в денвере написана на perl, можно ли ее написать на php?
 

kolobok

fPanel Billing Coder
Но ведь smtp.mail.ru не требует авторизации!
ты глубоко ошибаешься. сообщение говорит совсем о другом.
авторизируйся и будет тебе счастье. или смотри в сторону phpmailer
 

helpme

Новичок
а как авторизоваться ? нужно передавать какие-то аргументы функции mail() чтоли ?? или в php.ini какие-то строки дописать?
 
Сверху