Проблема с отправкой почты

T
На сайте с 24.07.2008
Offline
132
591

Проблема:

vps носит имя domain1.ru

Почта этого домена путем изменения MX записей находится на гугле.

При отправке письма функцией mail() сервер ни в какую не хочет отправлять почту на имейлы вида name@donain1.ru

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

Ранее сталкивался с этим и решал путем отключения DNS функционала в плеске.

На данный момент панели у впса нет, как исправить ошибку имея root доступ к vps?

LS
На сайте с 08.10.2011
Offline
4
#1

Есть два варианта решения вашей проблемы:

1. phpmailer - http://sourceforge.net/projects/phpmailer/, это ООП модуль который позволяет отправлять почту на любой SMTP сервер. Документация достаточно хорошо разбавлена примерами.

2. Попробовать в .htaccess через php_value или в коде через ini_set() повлиять на переменные smtp_* в php.ini (http://www.php.net/manual/en/ini.list.php)

T
На сайте с 24.07.2008
Offline
132
#2

Первый вариант совершенно точно не подходит.

Получается мне везде надо будет приплетать пхпмэйлер, где я захочу отправить письмо. Это в корне не верно.

Можно немного по подробней на счет 2го варианта?

Я так понимаю функция mail() для отправки почты использует sendmail.

В CentOS я порылся, нашел только бинарники сендмэйла, а конфига нигде нет.

Значит все данные хранятся в пхп.конф?

И там где-то забито что domain1.ru Это и есть мы и не надо никуда ничего слать, а надо положить письмо в почтовый ящик...

Извините, мысли в слух :)

LS
На сайте с 08.10.2011
Offline
4
#3
Tempter:
Первый вариант совершенно точно не подходит.
Получается мне везде надо будет приплетать пхпмэйлер, где я захочу отправить письмо. Это в корне не верно.

Можно немного по подробней на счет 2го варианта?

Я так понимаю функция mail() для отправки почты использует sendmail.
В CentOS я порылся, нашел только бинарники сендмэйла, а конфига нигде нет.
Значит все данные хранятся в пхп.конф?
И там где-то забито что domain1.ru Это и есть мы и не надо никуда ничего слать, а надо положить письмо в почтовый ящик...
Извините, мысли в слух :)

сделайте phinfo() и посмотрите как определены переменные smtp_* в выводе.

Если они не такие как вы ожидаете (обычно хостер почтовик уносит от вебсервера) то их и поменяете на нужные.

T
На сайте с 24.07.2008
Offline
132
#4

Проблему решил, может кому будет нужно, расскажу в чём была загвоздка:

Т.к. почта отправлялась на любые имэйлы кроме адресов, которые содержат в себе домен самого ВПСа, стало понятно что почтарь работает нормально, и smtp править никакие не надо.

Проблема заключалась в том, что я ошибочно полагал что почту отправляет sendmail, а конфигов его нигде не находил.

Всё оказалось просто, на впсе установлен и работает как почтовый сервер - exim.

Зайдя в конфиг которого я нашел строку

domainlist local_domains = domain1.ru

Всё что нужно было это убрать оттуда свой домен, я поставил вместо него техническое имя впса вида 555.ovz444.hc.ru

далее в консоле

service exim restart

после чего почта стала уходить на нужные мне адреса.

В любом случае, отдельное спасибо LazySeo, только вы попытались мне помочь :).

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий