URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7432
[ Назад ]

Исходное сообщение
"Оправка почты из PHP через внешний SMTP сервер"

Отправлено Dmitry , 21-Дек-11 10:25 
Здравствуйте.

Подскажите пожалуйста существует-ли способ настройки работы стандартной функции PHP mail(), чтобы почта уходила через внешний SMTP. Попробовал прописать адрес SMTP в файле /etc/mail.rc не помогло. Неужели единственный способ отправки почты через другой сервер это использование самописной функции (или уже готовых библиотек), которая реализует работу почтового протокола RFC-822.


Содержание

Сообщения в этом обсуждении
"Найдено в интернетах!"
Отправлено Andrey Mitrofanov , 21-Дек-11 10:39 
> Здравствуйте.
> Подскажите пожалуйста существует-ли способ настройки работы стандартной функции PHP mail(),
> чтобы почта уходила через внешний SMTP. Попробовал прописать адрес SMTP в
> файле /etc/mail.rc не помогло. Неужели единственный способ отправки почты через другой
> сервер это использование самописной функции (или уже готовых библиотек), которая реализует
> работу почтового протокола RFC-822.

"""
Find these lines in your php.ini file:

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
"""


"Найдено в интернетах!"
Отправлено Dmitry , 21-Дек-11 10:58 
> """
> Find these lines in your php.ini file:
> [mail function]
> ; For Win32 only.
> SMTP = localhost
> smtp_port = 25
> """

Это только для виндов. Для Линуха используется следующая настройка:

>>>>>>> sendmail_path = /usr/sbin/sendmail -t -i

Sendmail на сервер ставить не хочется.



"Найдено в интернетах!"
Отправлено Andrey Mitrofanov , 21-Дек-11 11:06 
>>>>>>>> sendmail_path = /usr/sbin/sendmail -t -i
> Sendmail на сервер ставить не хочется.

Exim. postfix и все другие [достаточно] современные MTA умеют "быть" /bin/sendmail

# ls -l `which sendmail`
lrwxrwxrwx 1 root root 5 Дек  7 13:39 /usr/sbin/sendmail -> exim4

Или не хочется ставить MTA вообще? Ну... поставивши php по сенд^Wмта... Хотя, какой-нибудь нуль-мейлер http://wiki.opennet.ru/Msmtp , да если ещё умеющий быть /bin/sendmail мог бы "успокоить Вас, сударыня".


"Найдено в интернетах!"
Отправлено Dmitry , 21-Дек-11 11:44 
> Exim. postfix и все другие [достаточно] современные MTA умеют "быть" /bin/sendmail
> # ls -l `which sendmail`
> lrwxrwxrwx 1 root root 5 Дек  7 13:39 /usr/sbin/sendmail -> exim4
> Или не хочется ставить MTA вообще? Ну... поставивши php по сенд^Wмта... Хотя,
> какой-нибудь нуль-мейлер http://wiki.opennet.ru/Msmtp , да если ещё умеющий быть /bin/sendmail

Ок. Посмотрю. Хотя, скорее всего, воспользуюсь чем-то вроде phpmailer где уже реализована работа через SMTP.


"Найдено в интернетах!"
Отправлено Дядя_Федор , 21-Дек-11 12:33 
> Ок. Посмотрю. Хотя, скорее всего, воспользуюсь чем-то вроде phpmailer где уже реализована
> работа через SMTP.

Есть еще простейший ssmtp как вариант.


"Найдено в интернетах!"
Отправлено me , 21-Дек-11 11:06 
>[оверквотинг удален]
>> файле /etc/mail.rc не помогло. Неужели единственный способ отправки почты через другой
>> сервер это использование самописной функции (или уже готовых библиотек), которая реализует
>> работу почтового протокола RFC-822.
> """
> Find these lines in your php.ini file:
> [mail function]
> ; For Win32 only.
> SMTP = localhost
> smtp_port = 25
> """

так это-ж только для win, а у парня *nix, похоже.
mail() это враппер вокруг sendmail, насколько я помню, так что нет: mail() не может отправить сообщение через внешний сервис.