/DiOs » 20.12.2007 11:06
На самом деле нонеча напридуманых антиспамовых систем -- море, и какая где именно стоит -- никогда не узнаешь, пока не наткнешься. По размышлению думаю, что у рамблера срабатывает не совсем то, что я описал выше.
Разберем структуру письма. В ней есть ряд полей, как обязательных, так и опциональных. Состав и содержимое определены RFC (это не то, чтобы стандарты, но в Инете играют роль стандартов; номер почтового уж не упомню). Про каждое поле можно много понарассказать; нас инетерсуют два: header-from (оно же просто From:) и envelope-from. Если проводить аналогии с бумажной перепиской, то header-from это то, что вы сами написали на бланке письма перед тем, как отдать его в канцелярию своей организации, а envelope-from -- то, что написано на самом конверте.
Если вы дома при помощи аутглюка или любого подобного MUA (mail user agent, почтовый клиент) отправляете простое письмо своему другу Васе, то значения обоих полей совпадут. MTA (mail transfer agent) провайдера (тот smtp-server, через который вы отправляете) может трансформировать поле envelope-from, а может и нет (он, конечно, и header-from может трансформировать, но за это морду бьют). При покладании в почтовый ящик адресата envelope-... и ряд других полей просто обрезаются. Для чего это делается? Например, при использовании списков рассылки envelope-from будет изменен на обратный адрес списка рассылки (он нужен только почтовым системам для обмена и решения проблем), а адрес header-from будет по-прежнему ваш, и получатель увидит именно его.
Это была одна часть теории. Из нее и письма рамблера видно, что MTA вашего хостера формирует envelope-from как <имя_вашего_домена>@<свой_почтовый(?)_домен>. Все бы хорошо, но...
В дальнейшем тексте все, что касается рамблера, каждый раз подразумевает дополнения типа "похоже", "я думаю, что у них так" и т.п.
Как выглядит smtp-сессия, когда MTA хостера начинает разговор с MTA рамблера (или кого-угодно другого)? После стука в окошко №25 (разумеется, порт 25) он говорит HELO (или что-то другое, не важно) и когда ему отвечают "Чего надо?!", передает фразу MAIL FROM. А вот это поле-то и формируется именно из envelope-from. Все бы ничего (в старые времена), но рамблер решает проверить: а существует ли этот, который MAIL FROM? Он не рвет сессию, а организует встречную (HELO, MAIL FROM: <существующий адрес у рамблера на случай еще одной встречной проверки>) в которой говорит RCPT TO: (письмо для), подставляя то, что сам получил в MAIL FROM: оригинальной сессии. То есть, еще не получив письма, как бы пытается отправить обратное. Если на MTA хостера существует тот ящик, который он подставлял в envelope-from, или по крайней нере он знает, что в этом случае надо сказать "Тафай-тафай, все пучком!", то рамблер успокаивается, рвет эту сессию и спокойно возвращается к продолжению основной. Если же он получает в ответ что-то типа "нет такого пользователя", то рвет и вторую, и первую сессии.
Вот этот сценарий, похоже, и срабатывает в вашем случае. Отсюда просьба к хостеру: ребята, подставляйте в envelope-from реальные адреса или хотя бы врите, что они существуют.
И если я неправ, пусть старшие товарищи поправят меня