Как изменить IP для отправки почты через php mail()?
Добрый день, уважаемое сообщество,
Есть такая проблема: на сервере (debian) установлен apache и на нем висит сайт на определенном IP (далее IP2). Всего на сервере сконфигурено 2 IP (далее IP1 и IP2).
В /etc/network/interfaces IP1 указан как eth0, а IP2 как eth0:0.
Через сайт (который работает на IP2) функцией mail() отсылается почта. В заголовке приходящей почты есть такая строка:
Received: from www-data by mail.XXXXXX.com with local (Exim 4.69),
где mail.XXXXXX.com — reverse DNS для IP1. Там же в других заголовках фигурирует IP1.
Мне нужно чтобы почта отправлялась через IP2. И в заголовках везде значился IP2, а не IP1. Как это сделать?
P.S. Я не сисадмин, и многие тонкости не знаю. Но то что есть сейчас — настраивал сам.
P.P.S. Нашел в настройках Exim сеттингу System Mail Name, но там можно указать только один адрес похоже.
Почту из пхп отправляет sendmail клиент. А айпи, с которого будет доставлена почта — это параметр настройки сервера, т.е. пхп не может на это влиять в принципе. Из пхп можно только слать через разные серверы на разных айпи. Соответственно, вам надо поднять несколько mta на разных айпи. Но слать через них надо уже будет не функцией mail(), а классом отсылки через smtp.