Отправка почты с выделенного IP
3051
20
Проблема: в случае использования shared-хостинга периодически встречаются понятные проблемы, когда IP-адрес хостера попадает в блэк-листы из-за соседа по хостингу. Ситуация, конечно, постепенно решаемая, но напрягает.
Хочется ее как-то порешать. Вариант "надо использовать нормальных хостеров, которые не допускают рассылку спама" не рассматриваем, т.к. мне лично очевидно, что такая беда может постигнуть любого провайдера ввиду понятных причин её возникновения.

Вижу два варианта решения проблемы:

1) Отправлять почты с "выделенного" IP адреса у хостера, с которого более никто почту не отпарвляет. Тогда только сам себе злобный буратино, если вдруг.
К сожалению, мне не удалось пока найти хостера, который бы предоставил услугу отправки почты с выделенного IP без приобретения VPS-хостинга. Вернее встретился лишь один хостер, который сообщил, что планирует к запуск такую услугу и предложил ее потестировать, но мне надо надёжно, на тесты не согласен.

2) Вижу такой еще вариант.
Поставить свой SMTP-сервер и отсылать почту с него (только SMTP). Но вот проблема: каждый уважающий себя почтовик нынче проверяет DNS-запись отправителя и сравнивает домен, указанный в HELO, то что ж в этом HELO указать, если все DNS-записи по домену почты смотрят совсем на другой IP? может есть вариант прописать какую-то служебную DNS-запись (какого типа?), по которой данный SMTP не будет отсекаться?
Есть ли какой-то вариант настройки такой конфигурации? (блин, должен быть! не может быть, чтобы в крупных конторах адреса POP3 и SMTP серверов совпадали)
KSergey
добавить как минимум A, CNAME и MX записи для этого выделенного SMTP сервака?
Злыдь
добавить как минимум A
Я вероятно забыл сказать явно, что на шаредном хостинге на домене, с которого отправляется почта, еще и сайт крутится.
Так что A не получится - сайт отвалится, на сколько я понимаю.

MX записи для этого выделенного SMTP сервака?
Хочется не полноценный сервак, т.е. почта должна приниматься другим сервером, так что MX-тожене вариант

CNAME
а вот это надо почитать, я как-то не вникал что это
KSergey
ну если сайт domainname.ext то почтовик к нему можно окрестить mail.domainname.ext или разнести в разные стороны pop/imap и smtp и приласкать, соответственно, pop.domainname.ext и smtp.domainname.ext
указивки А для pop.domainname.ext и smtp.domainname.ext отнюдь не обязаны совпадать с указивкой A для самого domainname.ext.
Ну и MX должны смотреть в правильное место.
System32
используйте vpn ы
Можно поподробнее для указанного случая? не понял.
System32
как vpn поможет в данном случае?
Злыдь
Злыдь, спасибо за подробный ответ.
Поизучаю в этом направлении.
Злыдь
указивки А для pop.domainname.ext и smtp.domainname.ext отнюдь не обязаны совпадать с указивкой A для самого domainname.ext.
Вы попробуйте объяснить это криворуким админам требующим совпадения адреса почты и А'шки.
KSergey
А привязать свой домен например к гуглпочте не вариант ?
Mozepiy
А привязать свой домен например к гуглпочте не вариант ?
Есть опыт привязки к яндексу.
Опыт на удивление крайне печальный: 2/3 отправленных мною писем попросту теряется. Ладно бы с ошибкой возвращались, был бы предмет для изучения, но теряются именно с концами. Теряются ли другие письма - не могу знать.
Хотя при отправке на просто яндекс-почту проблем ни разу не замечено. Причина для меня крайне загадочна.

Я понимаю, что яндекс и гугль не имеют ничего общего вообще. Вот вот этот абсолютно неожиданный опыт с яндексом пока отбил полностью охоту пользоваться подобными сервисами.
Mozepiy
ну рукожопов-то во все времена хватало. С другой стороны получить и сравнить А (от почты!) и МХ и на основании этого уже делать далеко идущие выводы - это, ящитаю, нормально.

самое вкусное - прописать MX так, чтобы он указывал в правильном направлении.
Вот взять, к примеру, НГС:миг: и отnslookupить его с set type=mx то получим как раз те самые 2 почтовика. На самом деле их сильно больше.:улыб:
Злыдь
С другой стороны получить и сравнить А (от почты!) и МХ и на основании этого уже делать далеко идущие выводы - это, ящитаю, нормально.
А я щитаю ненормально, ибо есть RFC 821/2821 где ясно сказанно, что адрес отправителя предъявляемый в команде "MAIL FROM:" SMTP-сессии обязан существовать, что бы на него можно было доставить сообщение о доставке/недоставке/ошибке. Т.е. любой MTA способен проверить адрес отправителя без проверок совпадения зон, темболее что в рамках одной организации (ваш пример с ngs) сервера отправки и получения почты могут быть разными и в большом колличестве ,) Самый шик криворукости, это запретить прием писем с "MAIL FROM:<>", но это уже к теме топика неотносится.
KSergey
Кстати, совсем забыл про такую фишку, как SPF (RFC 4408). Недавно у одного клиента какраз пришлось решать вопрос с разделением сайта (остался на хостинге) и почты (переехала на сервера клиента) по большей части помогло, но остался небольшой процент режекта из-за несоответствия А'шки и адреса отправителя.
Mozepiy
адрес отправителя предъявляемый в команде "MAIL FROM:" SMTP-сессии обязан существовать
вот тут-то и порылась собака. Всяческие заботнеченные .nz .in .za, всякие мейл.врушечки и им подобные могут передать какой угодно адрес. И ботнет честно будет утверждать о валидности подобного "unreadablemhb28@mail.ru" (выволок из логов:миг:)
Злыдь
На майле такой адрес какминимум был прореган, поэтому и валиден .) Ниодин ботнет небудет ниначто отвечать, там тупо молотилка которая плюнула на адрес и забыла о нем, но если даже такой функционал и присутствует в ботнете, то всегда второй ступенью проверки можно поставить greylisting, например, если уж совсем параноя мучает то и dnsbl прикрутить. Вообщем есть куча валидных, читай соответствующих RFC, способов ограничить себя от спама, к коим проверка А'шки неотносится, т.е. налицо нарушение стандартов.
Mozepiy
ну у меня-то грейлистинг+dnsbl как раз используются.
Стартовая проблема была в том, что у ТСа почтових на хостинге с расшареным IP и как только кого-то банят за спам - банят и ТСа.
Злыдь
ТС'у разделяя почту и хостин влюбом случае придется пройти по граблям которые я описал выше, возможность есть, 100% гарантии прохождения, нету. Можно конечно А'шку прописать на почтовик, но тогда доступ к сайту будет только в виде www.domain.examples, чтоб работало без www, придется ставить редиректор на сервак с почтовиком.
Mozepiy
Ашку ДЛЯ mail.domainname.ext и MX туда же.

Получим примерно такое (копипаста c 1GB):

domainname.ext. 3600 IN SOA ns1.1gb.ru. noc.1gb.ru. 87 900 600 86400 3600
domainname.ext. 3600 IN A ABC.DEF.GHI.JKL удалить
domainname.ext. 3600 IN NS ns1.1gb.ru. справка
domainname.ext. 3600 IN NS ns2.1gb.ru. справка
domainname.ext. 3600 IN NS ns1.freedns.ws. справка
domainname.ext. 3600 IN NS ns2.freedns.ws. справка
domainname.ext. 3600 IN NS ns1.domainname-int.ext .справка
domainname.ext. 3600 IN NS ns1.masterhost.ru. справка
domainname.ext. 3600 IN NS ns2.masterhost.ru. справка
domainname.ext. 3600 IN NS ns.masterhost.ru. справка
domainname.ext. 3600 IN MX 1 mail.domainname.ext. справка
domainname.ext.3600 IN TXT v=spf1 mx -all
domainname.ext.3600 IN TXT v=spf1 mx a:mail.domainname.ext -all
mail.domainname.ext. 3600 IN A ABC.DEF.GHI.JMN удалить
mail.domainname.ext. 3600 IN TXT v=spf1 mx a:mail.domainname.ext -all
proxy.domainname.ext. 3600 IN A ABC.DEF.GHI.JOP удалить
www.domainname.ext.3600 IN CNAME domainname.ext.

примерно так.
Злыдь
Я вам про фому, а вы мне про ерему.
Повторю еще раз. Есть почта вида @domain.name, она отправляется с сервера mail.domain.name адрес сервера 1.1.1.1, адрес хостинга domain.name 2.2.2.2. Так вот, плюя на стандарты, некоторые проверяют сервер с адресом 1.1.1.1 через резолвинг домена почты, у которого адрес будет 2.2.2.2, видя несоответствие, письмо будет отшибаться. И к слову, отправитель почты необязан иметь собственную mx запись, сия запись необходима только для приема почты.
Mozepiy
да мы об одном и том же. О рукожопах.