
У нас есть система, работающая на CentOS 5 с Plesk 8.6 и Qmail. Наш основной домен размещен через Media Temple. Когда Plesk и Qmail размещены на одном выделенном виртуальном сервере, он считывает IP и домен основного сервера и сообщает об этом при отправке писем из системы.
Наши страницы написаны на PHP, поэтому мы используем функцию mail(). Хотя наша электронная почта отправляется всем, несколько корпоративных доменов электронной почты отклоняют нашу электронную почту, поскольку она показывает другой исходный IP (IP-адрес нашего основного сервера и домен), нежели домен, который мы указали в адресе «от». Это нельзя изменить. Конечно, каждый домен, которым мы владеем, имеет свой собственный IP-адрес, а также IP-адрес под нашим основным серверным IP-адресом.
Я видел в Интернете несколько мест, где предлагался патч, в частности, позволяющий привязывать домены:
"DomainBindings — для серверов, на которых размещено несколько доменов или которым назначено несколько IP-адресов, иногда полезно (или важно) указать qmail использовать определенный IP-адрес для исходящей почты. По умолчанию qmail использует любой адрес, выбранный ОС для всех исходящих подключений. С помощью этого патча вы можете указать, какой адрес использовать. Он использует файл управления, похожий на smtproutes, для указания исходящего IP-адреса на основе домена отправителя (локальная копия) (pyropus.ca)"
Во-первых, у меня не установлен netqmail, поэтому мне нужно будет найти другой источник, но я также совершенно не знаком с применением патчей к qmail. Потеряю ли я почтовые службы, если я патчу? Это простой процесс применения и использования? Будут ли восстановлены мои существующие учетные записи электронной почты и данные после патча?
Я очень, очень новичок в unix/linux, так что это меня немного нервирует, но я единственный человек, который может внести изменения, и это то, что наша компания "ДОЛЖНА" иметь. Есть идеи?
решение1
Обычно эта проблема решается на сетевом уровне, где все исходящие SMTP-сообщения преобразуются с помощью NAT на один и тот же IP-адрес.
Окончательный источник официального дистрибутива QMAIL —Qmail.org, где вы можете приобрести netqmail. netqmail — это QMAIL, упакованный срекомендуемые патчикоторые применялись повсеместно, поскольку официального релиза не было уже некоторое время.
На сайте QMAIL есть ссылки на многочисленные исправления, которые изменяют поведение привязки интерфейса. Я успешно реализовалэтот патчв производственной среде, которая позволяет разным доменам использовать разные IP-адреса.
Патч не очень хорошо документирован, но в моих заметках есть следующее:
outgoingips
IP addresses to be used on outgoing connections. Each line has
the form fromdomain:localip, without any extra spaces. If domain
matches the domain part in sender, qmail-remote will bind to
localip when connecting to host. If it matches, it will also set
the HELO string to the domain part of sender.
Изменение поведения вашего MTA, скорее всего, повлияет каким-то образом, но то, как это влияние повлияет на ваши сервисы, будет зависеть от вашего плана развертывания. Если ничего другого не произойдет, QMAIL придется перезапустить, что на короткое время повлияет на доставку.
Компиляция из исходного кода и исправление немного более продвинуты, но если вы работаете в стандартной среде QMAIL и вам нужна эта функция, у вас не будет большого выбора, если только вы не хотите заплатить кому-то другому, чтобы он сделал это за вас.
Ваши существующие пользователи и электронная почта не должны быть затронуты, но если в вашей установке QMAIL есть другие исправления, например, те, которые позволяют хранить данные аутентификации в базе данных, вам могут понадобиться дополнительные исправления для дублирования существующей функциональности. Если вы используете "стандартный" QMAIL 1.03, все должно быть довольно просто.
решение2
Некоторые дополнения к совету Уорнера (извините, но у меня недостаточно репутации, чтобы использовать функцию комментирования):
Настройка qmail, которая идет с Plesk, уже имеет множество исправлений, однако Parallels предлагает исходный код, а также любые исправления, примененные вместе с довольно хорошей документацией в своембаза знаний.
Будьте осторожны: патчи, которые меняют не только исходящий IP-адрес, но и имя хоста, считаются вредоносными, если IP разделяет более одного имени хоста. Есть пара хостов MX, которые прекращают получать почту от хостов, которые подключаются с использованием разных строк HELO.
Вы говорите о том, что qmail читает "IP-адрес и домен основного сервера и сообщает об этом при отправке писем из системы". На самом деле, это разные вещи. При выборе другого IP-адреса для исходящих соединений вы можете просто задать имя хоста, используемое для произнесения HELO в
/var/qmail/control/me
.Что касается самой проблемы: пожалуйста, предоставьте точное сообщение об ошибке, которое вы получаете от целевых хостов MX, так как, как я полагаю, вы путаете вещи. Вполне приемлемо отправлять почту с другого хоста, нежели хост, предлагающий веб-сайт домена, являющегося его хостом MX. Также нет прямой корреляции между строкой HELO и адресом «от» письма, если только получатель не реализует какое-то действительно безмозглое антиспамовое «решение».
решение3
У меня та же проблема, т. е. у меня есть многосетевой хост (6 IP-адресов) и несколько доменов, привязанных к каждому IP-адресу.
Qmail использует одно имя хоста и IP-адрес для отправляющего IP/хоста, но для хостов с несколькими доменами/IP-адресами возникают две проблемы:
Некоторые почтовые серверы отклоняют почту, если поле «От» отправителя не соответствует тому, что в конверте.
С точки зрения дизайна Qmail по умолчанию должен делать то, что делает outgoingips;
Plesk постоянно выпускает обновления, и некоторые из них применяются к исправлениям Plesk для qmail, поэтому нужно убедиться, что ничего больше не сломается; если бы Qmail это делал, этой проблемы бы не существовало.