Здравствуйте.
Имеется проблема с грейлистингом рамблера.
Есть сервер с sendmail 8.13.8 на rhel5.5. Пытаюсь локально отправить через него сообщение на ящик на сервере rambler.ru. При первой отправке сообщения, локальный sendmail получает от рамблера "452 4.7.1 Try again later" и снова ставит сообщение в очередь. Проблема в том, что из очереди оно по какой-то причине не уходит (т.е. не отправляется повторно). При этом, если повторную отправку я инициирую сам той же командой, то письмо уходит.Пример:
$ cat mail.txt | /usr/sbin/sendmail -f user@server.ru user@rambler.ru
В логах sendmail вижу "452 4.7.1 Try again later"
Повторно запускаю команду:
$ cat mail.txt | /usr/sbin/sendmail -f user@server.ru user@rambler.ru
В логах sendmail вижу "stat=Sent (Ok: queued as 3F145107103C)"Однако sendmail должен это делать сам. Т.е., насколько я понимаю, я один раз выполнил команду, sendmail принял мое сообщение, попытался передать рамблеру, получил 452, поставил сообщение в очередь, попробовал повторно отправить его через время. Вот почему-то этого последнего действия и не происходит.
Что пробовал делать:
менял значение MinQueueAge на 5m, запускал sendmail с параметром -q5m, и тот же результат - загрейлищенная почта не уходит. Подскажите, пожалуйста, что можно посмотреть/покрутить. Проблема только с rambler.ru, на yandex/mail итд все уходит сразу и без проблем.
>[оверквотинг удален]
> В логах sendmail вижу "stat=Sent (Ok: queued as 3F145107103C)"
> Однако sendmail должен это делать сам. Т.е., насколько я понимаю, я один
> раз выполнил команду, sendmail принял мое сообщение, попытался передать рамблеру, получил
> 452, поставил сообщение в очередь, попробовал повторно отправить его через время.
> Вот почему-то этого последнего действия и не происходит.
> Что пробовал делать:
> менял значение MinQueueAge на 5m, запускал sendmail с параметром -q5m, и тот
> же результат - загрейлищенная почта не уходит. Подскажите, пожалуйста, что можно
> посмотреть/покрутить. Проблема только с rambler.ru, на yandex/mail итд все уходит сразу
> и без проблем.У меня вопрос зачем делать ограничения greylist для своей сети?
В milter-greylist можно сделать так:
list "my network" addr {
Перечисляем ip адреса 127.0.0.1/8 192.168.0.0/24 и т.д.
}racl whitelist list "my network"
>[оверквотинг удален]
>> Однако sendmail должен это делать сам. Т.е., насколько я понимаю, я один
>> раз выполнил команду, sendmail принял мое сообщение, попытался передать рамблеру, получил
>> 452, поставил сообщение в очередь, попробовал повторно отправить его через время.
>> Вот почему-то этого последнего действия и не происходит.
>> Что пробовал делать:
>> менял значение MinQueueAge на 5m, запускал sendmail с параметром -q5m, и тот
>> же результат - загрейлищенная почта не уходит. Подскажите, пожалуйста, что можно
>> посмотреть/покрутить. Проблема только с rambler.ru, на yandex/mail итд все уходит сразу
>> и без проблем.
> У меня вопрос зачем делать ограничения greylist для своей сети?Видимо я неверно выразился. Грейлист не у меня, а на сервере рамблера. Когда я со своего сервера отправляю на @rambler.ru сообщение, то оно сначала отвергается с ошибкой 452. Если я повторно отправляю это письмо с консоли, то во второй и последующий разы оно уходит. Задача - заставить sendmail на моем сервере делать то же самое, т.е. при получении ошибки 452 отправлять сообщение повторно.
>[оверквотинг удален]
>>> же результат - загрейлищенная почта не уходит. Подскажите, пожалуйста, что можно
>>> посмотреть/покрутить. Проблема только с rambler.ru, на yandex/mail итд все уходит сразу
>>> и без проблем.
>> У меня вопрос зачем делать ограничения greylist для своей сети?
> Видимо я неверно выразился. Грейлист не у меня, а на сервере рамблера.
> Когда я со своего сервера отправляю на @rambler.ru сообщение, то оно
> сначала отвергается с ошибкой 452. Если я повторно отправляю это письмо
> с консоли, то во второй и последующий разы оно уходит. Задача
> - заставить sendmail на моем сервере делать то же самое, т.е.
> при получении ошибки 452 отправлять сообщение повторно.Так и должно быть. Только твое сообщение должно встать у тебя в очередь и через определенное время твой sendmail отправит его. В свою очередь на rambler ты временно добавишся в исключения и будешь слать без задержки.
>[оверквотинг удален]
>> Видимо я неверно выразился. Грейлист не у меня, а на сервере рамблера.
>> Когда я со своего сервера отправляю на @rambler.ru сообщение, то оно
>> сначала отвергается с ошибкой 452. Если я повторно отправляю это письмо
>> с консоли, то во второй и последующий разы оно уходит. Задача
>> - заставить sendmail на моем сервере делать то же самое, т.е.
>> при получении ошибки 452 отправлять сообщение повторно.
> Так и должно быть. Только твое сообщение должно встать у тебя в
> очередь и через определенное время твой sendmail отправит его. В свою
> очередь на rambler ты временно добавишся в исключения и будешь слать
> без задержки.Отлично, как свести к минимуму время повторной оправки письма? Я занялся этим после того, как юзер рамблера получил письмо через 6 часов после отправки. К слову, на этом сервере есть сайт, на котором регистрируются юзеры. Естесственно, они расчитывают получить подтверждение регистрации в разумные сроки - максимум 5-10 минут. Как понять, почему происходит затык и как на это влиять?
> Задача
> - заставить sendmail на моем сервере делать то же самое, т.е.
> при получении ошибки 452 отправлять сообщение повторно.Это не задача.
Это то, что sendmail делает и без вашего участия по RFC 1893:
4.X.X Persistent Transient Failure
A persistent transient failure is one in which the message as sent is valid, but some temporary event prevents the successful sending of the message. Sending in the future may be successful.Сделайте egrep $sendmail_pid maillog
и вы увидите многочисленные _самостоятельные_ попытки senmdail отправить "приторможенное"
рамблером письмо