Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как отправить письмо?


Автор: Leoo 16.11.2005, 00:40
Подскажите как отправить письмо по электронной почте.
Я знаю есть функция
mail("[email protected]", "Отправка писем", "Помогите мне отправить письмо");
но когда я ее использую на email ничего не приходит.

я читал, что надо подправить файл php.ini

[mail function]
; Только для Win32 - используемый SMTP-сервер.
; Укажите здесь SMTP-сервер своего провайдера.
SMTP = localhost (как я понимаю надо здесь что то написать)

; Только для Win32 - поле From: по умолчанию.
sendmail_from = denwer@localhost (или знеся)

И еще если я ставил Денвер - это как нибуть повлияет на отправку писем?

Зарание спасибо!

Автор: Naruvi 16.11.2005, 13:33
В Денвере нет почтового сервера

Автор: PARROT 16.11.2005, 13:47
А ты проверяешь где, наличие отправленного письма? На сервере или у себя на компе?
Код

if(isset($_POST['send'])){//жмем на кнопку, отправляем письмо
$msg="Ну Пливет! тело сообщения";
mail("[email protected]","Заголовок",$msg);




Добавлено @ 13:48
Денвер тут не причем!

Автор: z-END 16.11.2005, 13:52
Цитата(Leoo @ 16.11.2005, 00:40)
SMTP = localhost (как я понимаю надо здесь что то написать)

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

Автор: Naruvi 16.11.2005, 13:53
PARROT
Так если вообще осутствует smtp сервер КАК будут отправляться письма???


Автор: PARROT 16.11.2005, 13:56
Все там есть. Денвер это полный комплект, ну только для некоторых задач он не подходит.

Автор: Naruvi 16.11.2005, 14:09
2parrot
Базовый пакет Денвера включает:

* Apache, SSI, mod_rewrite, mod_php.
* PHP4 с поддержкой GD и MySQL.
...
* Ядро Perl без стандартных библиотек (они поставляются отдельно).
* Эмулятор sendmail (отладочная «заглушка», складывающая приходящие письма в /tmp); поддерживается работа совместно с PHP и Perl.

взято с denwer.ru

Leoo
Либо ставь сервер, либо тесть в интернете

Автор: PARROT 16.11.2005, 14:16
Все письма проверяемые на сервере (при установленном Денвере), ложаться тут:
Код

tmp -> !sendmail -> тут письма можно просмотреть, прочитать, в том случае если письмо не отправилось, соответсвенно в этой папке его не найдешь.


Автор: Gold Dragon 16.11.2005, 14:22
Цитата(Naruvi @ 16.11.2005, 13:33)
В Денвере нет почтового сервера

есть там всё и всё отлично работате... и все письма сохраняются где указала PARROT

Автор: Leoo 16.11.2005, 18:21
SMTP = localhost
[quote] здесь надо писать адрес почтового сервера
а как написать этот адрес (напишите пример)

Письмо я посылаю сосвоего компа на свой email.

Автор: PARROT 16.11.2005, 18:44
Чтобы послать со своего компа письмо на свой емаил, нужно скрипт выложить на сервер, то есть в интернет, на хостинг.
Чтобы проверить работоспособность скрипта, нужно зайти в ту папку которая указана выше.
Ничего тут:
Цитата

SMTP = localhost
здесь надо писать адрес почтового сервера
а как написать этот адрес (напишите пример)

я лично, не писала. Почему Денвер и называется "Джентельменский набор", потому что все уже там настроено, только пользуйся. Думать не надо. Пиши, жми, проверяй.

Автор: Leoo 16.11.2005, 19:02
т.е если в папке tmp\sendmail появились письма значит все работает

Автор: PARROT 16.11.2005, 19:13
Да. Их даже можно прочитать и просмотреть по F4, тело, заголовки, кодировку и т.д.

Автор: Leoo 16.11.2005, 19:15
Спасибо

Автор: papex 17.11.2005, 01:53
Цитата(Leoo @ 16.11.2005, 18:21)
SMTP = localhost
здесь надо писать адрес почтового сервера
а как написать этот адрес (напишите пример)




у меня на локальной машине прописано так

Код

[mail function]
SMTP        =    chel.surnet.ru        ;for win32 only
sendmail_from    =    [email protected]        ;for win32 only
;sendmail_path    =                ;for unix only, may supply arguments as well (default is 'sendmail -t -i')

Автор: Gold Dragon 17.11.2005, 08:50
у меня вот что в денвере
Код

[mail function]
; Только для Win32 - используемый SMTP-сервер.
; Укажите здесь SMTP-сервер своего провайдера.
;SMTP = localhost

; Только для Win32 - поле From: по умолчанию.
;sendmail_from = denwer@localhost

; Только для UNIX - задает путь и аргументы программы sendmail (по
; умолчанию - 'sendmail -t -i').
sendmail_path = \usr\sbin\sendmail -t -i
; ВНИМАНИЕ: необходимо использовать обратные слэши: "\", а не прямые.
; Иначе sendmail не работает в Windows 95 ... Windows ME.
; ВНИМАНИЕ: если Вы хотите все же использовать SMTP-сервер,
; раскомментируйте директиву SMTP (см. выше), а эту - уберите.
; Если ее не убрать, все равно будет вызываться sendmail.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)