не работает функция mail в php! (VIP-тарифы)
kpv - 13.4.2008 в 11:47
Если не работает функция mail() в PHP - убедитесь что в панели управления ISPmanager в свойствах соответствующего www-домена указан реально
существующий на данном сервере почтовый ящик. Т.е. например если ваш сайт - my-vip-site.ru, то создайте почтовый ящик
admin@my-vip-site.ru и укажите именно его, а не vasya-pupkin@mail.ru.
В 95% случаев правильно указанный существующий ящик решает проблему.
Если проблема все-таки не решилась, загляните в файл /home/логин/data/php-bin/php.ini и убедитесь в наличии такой строчки:
Цитата: |
sendmail_path = "/usr/sbin/sendmail -t -i -f admin@my-vip-site.ru" |
Если там ящик не admin@my-vip-site.ru а vasya-pupkin@mail.ru - исправьте.
Чтобы изменения в php.ini вступили в силу, необходимо перезагрузить веб-сервер. Это случается автоматически, например, когда Вы редактируете
какие-либо свойства www-домена в панели ispmanager. Или напишите нам, чтобы перезагрузили.
Если проблема все равно не решилась - пишите в нашу службу техподдержки.
[Отредактировано 5.6.2012 кто timru]
timru - 28.12.2012 в 11:26
Другой вариант: вообще убираем из своего php.ini из строчки:
Цитата: |
sendmail_path = "/usr/sbin/sendmail -t -i -f admin@mysite.ru" |
параметр " -f admin@mysite.ru", т.е. должно получиться:
Цитата: |
sendmail_path = "/usr/sbin/sendmail -t -i" |
и добавляем его непосредственно в фунцию mail(), 5-м параметром (так же можно задать адрес через ini_set):
Цитата: |
<?php
mail("pupkin@mail.ru", "Subject", "Body", "From: admin@mysite.ru", "-f admin@mysite.ru");
?> |
В этом случае почта также должна успешно отправляться. Преимущества данного варианта - Вы можете задавать ящик отправителя непосредственно в скрипте.
Это будет полезно в случае если у Вас несколько доменов на аккаунте - не будет жесткой привязки к конкретному e-mail-адресу, прописанному в
php.ini.
[Отредактировано 28.12.2012 кто timru]
[Отредактировано 28.12.2012 кто ln]