Добрый день, прошу помощи.Подскажите, возможно ли изменить текст, который выдается клиенту, если сообщение отброшено по каким либо причинам.
Например:
May 6 21:47:38 mailalm postfix/smtpd[13280]: NOQUEUE: reject: RCPT from unknown[89.165.14.240]: 450 4.7.1 Client host rejected: cannot find your reverse hostname, [89.165.14.240]; from=<emustafina@example.com> to=<emustafina@example.com> proto=ESMTP helo=<[89.165.14.14]>
Вместо "cannot find your reverse hostname, [89.165.14.240]"
Выдавал мой текст.
В этот текст хочу вставить ссылку на сайт, где будут подробно описаны требования к клиентам, которые хотят, чтобы наш сервер принимал почту от них.Инфo:
Debian v5.04
Postfix v2.5.5
>Вместо "cannot find your reverse hostname, [89.165.14.240]"
>Выдавал мой текст.Вас интересует имеено reject_unknown[_reverse]_client_hostname или что-то еще?
>>Вместо "cannot find your reverse hostname, [89.165.14.240]"
>>Выдавал мой текст.
>
>Вас интересует имеено reject_unknown[_reverse]_client_hostname или что-то еще?Интересует изменение текста на все ошибки reject
>>Вас интересует имеено reject_unknown[_reverse]_client_hostname или что-то еще?
>
>Интересует изменение текста на все ошибки rejectтогда кроме как пересобрать из патченых исходников ничего посоветовать не смогу.
В отдельных случаях (например как в приведенном вами логе) еще можно как-то извратиться без правки кода или police-сервера, но глобально тексты отлупов не настраиваются.
>>>Вас интересует имеено reject_unknown[_reverse]_client_hostname или что-то еще?
>>
>>Интересует изменение текста на все ошибки reject
>
>тогда кроме как пересобрать из патченых исходников ничего посоветовать не смогу.
>
>В отдельных случаях (например как в приведенном вами логе) еще можно как-то
>извратиться без правки кода или police-сервера, но глобально тексты отлупов не
>настраиваются.Спасибо, но это уже слишком, у меня два Postfix'а, служать для приема почты и передачи на exchange. Пересобирать както ссыкотно.
и кому этот текст нужен?
- конечному клиенту, отправившему сообщение? представьте, ты конечный клиент, отправляешь письмо, тебе приходит reject с ссылкой. Ты пойдешь по ссылке и будешь разбираться, что твое сообщение отвергнуто, потому что, твой сервер не имеет скажем какой-то записи где-то. конечному клиенту это интересно? больше заняться нечем?
- ты администратор сервера, того текста, что тебе выдали тебе должно быть достаточно и понятно и без ссылки.
- если ты не принимаешь почту это проблема не отправителя, а получателя.
звонит клиент исполнителю: "Владимир Петрович, я Вам контракт на $1 000 000, а она не проходит"
Владимир Петрович клиенту: "Иван Иванович, у Вас неправильно, настроен Ваш сервер, сначала настройте, тогда и поговорим"
Вы администрируете сервер исполнителя. Вам звонит Ваш босс Владимир Петрович.
Ваши действия?
а) Молча принимаете почту клиента
б) Начинаете объяснять боссу, что сервер клиента настроен не в соответcтвии с какими-то там RFC (тем для обсуждения)
в) Посылаете босса и клиента в ж.... Мол у меня все настроено правильно.
>[оверквотинг удален]
>а она не проходит"
>Владимир Петрович клиенту: "Иван Иванович, у Вас неправильно, настроен Ваш сервер, сначала
>настройте, тогда и поговорим"
>Вы администрируете сервер исполнителя. Вам звонит Ваш босс Владимир Петрович.
>Ваши действия?
>а) Молча принимаете почту клиента
>б) Начинаете объяснять боссу, что сервер клиента настроен не в соответcтвии с
>какими-то там RFC (тем для обсуждения)
>в) Посылаете босса и клиента в ж.... Мол у меня все настроено
>правильно.То, что вы написали не относится к теме поего вопроса!
Выше было сказано что будет в на данной ссылке. У меня очень крупная IT компания, и если кто-то не может отправить нам письмо это их проблемы, т.к. у нас есть свои требования к отправителям. И мое начальства это понимает, что кстати очень радует.
А ссылка для тупых админов, коих очень много нынчы, для них кстати и стараюсь чтобы хоть вкурили основы почты.
Эту идею я слямзил у гугла, вот например гугл не примет письмо, если у клиента нет обратной зоны и посылает на ссылку.
google публичный сервер и ему как раз все равно, если человек пользуется его услугами он подписывается сам под условиями его использования.
а представь себе, каждая организация будет свои требования создавать к отправителям и ссылки давать на свои требования, отправитель должен подстраиваться под все возможные требования всех возможных "умных" администраторов?
>Спасибо, но это уже слишком, у меня два Postfix'а, служать для приема
>почты и передачи на exchange. Пересобирать както ссыкотно.А я вот не корысти ради, а любопытства для поигрался)))
--- postfix-2.6.2.orig/src/smtpd/smtpd_chat.c Tue Apr 28 21:26:17 2009
+++ postfix-2.6.2/src/smtpd/smtpd_chat.c Fri May 7 13:04:35 2010
@@ -156,6 +156,13 @@
va_start(ap, format);
vstring_vsprintf(state->buffer, format, ap);
va_end(ap);
+ /* Append custom message to response. */
+ if (*var_append_reason) {
+ cp = STR(state->buffer);
+ if (cp[0] == '4' || cp[0] == '5')
+ vstring_sprintf_append(state->buffer, " %s",
+ var_append_reason);
+ }Тупо ко всем ответам сервера вида /[45].*/ добавляет строку,
работает и кажется ничего не ломает)
там где идет проверка, будь то access или header_checks, не суть важно, делаем не просто REJECT, аREJECT мать Вашу так и так.
>там где идет проверка, будь то access или header_checks, не суть важно,
>делаем не просто REJECT, а
>
>REJECT мать Вашу так и так.Не нужно хамства в логах. Отлуп может и не виноватый получить.
>Не нужно хамства в логах. Отлуп может и не виноватый получить.дык никто и не говорил именно так писать, человеку объяснили где писать, а что, пусть будет на его совести :)
еще хочется добавить что отбрасывая письма Вы создаете кучу проблем,как своим работникам, так и посылающим реальные письма.
Подход изначально отвратительный.Возмите пример гугла - вот правильный подход, пропускать всё, а юзер пусть сам разбирается что к чему.
И главное настройте нормально антиспам, но не чтоб удалял или не принимал, а просто помечал.
>еще хочется добавить что отбрасывая письма Вы создаете кучу проблем,как своим работникам,
>так и посылающим реальные письма.
>Подход изначально отвратительный.Есть только два мнения - Ваше и неправильное?
>Возмите пример гугла - вот правильный подход, пропускать всё, а юзер пусть
>сам разбирается что к чему.
>И главное настройте нормально антиспам, но не чтоб удалял или не принимал,
>а просто помечал.Каково число пользователей _вашей_ почтовой системы?
Каково число писем, приходящих _сотруднику_ компании на корпоративный почтовый ящик при такой политике, в сутки?
>
>Есть только два мнения - Ваше и неправильное?
>Исключительно... :)
>
>Каково число пользователей _вашей_ почтовой системы?
>Каково число писем, приходящих _сотруднику_ компании на корпоративный почтовый ящик при такой
>политике, в сутки?Уж побольше чем Вы можете себе представить.
Мне глубоко насрать на "умных администраторов", которые блокируют входящюю почту, до той поры, пока им их начальство не вставит за то, что не приходит ВАЖНОЕ письмо, это рано или поздно происходит.
Простому обывателю все равно, как и что настраивает "умный администратор", ему важен результат.Раньше я тож думал "как вы", с годами прошло.
Не стоит забывать, что IT не главное звено в многих компаниях, и звено бюджетное, а не то, что приносит доход. Поэтому, не пользователи должны подстраиваться под "умных админов", а они под пользователей.Не согласны, проходите мимо.
>[оверквотинг удален]
>>Есть только два мнения - Ваше и неправильное?
>>
>
>Исключительно... :)
>>
>>Каково число пользователей _вашей_ почтовой системы?
>>Каково число писем, приходящих _сотруднику_ компании на корпоративный почтовый ящик при такой
>>политике, в сутки?
>
>Уж побольше чем Вы можете себе представить.Дык в том то и дело, что "массовые" системы и корпоративного назначения - различны по назначению, и политики у них разные.
>Мне глубоко насрать на "умных администраторов", которые блокируют входящюю почту, до той
>поры, пока им их начальство не вставит за то, что не
>приходит ВАЖНОЕ письмо, это рано или поздно происходит.
>Простому обывателю все равно, как и что настраивает "умный администратор", ему важен
>результат.Получать сотнями штук письма спама "простому обывателю" - это тоже результат, который обывателю небезразличен.
>Раньше я тож думал "как вы", с годами прошло.
Я правильно понял, что Вы потеряли гибкость мышления ? :-)
>Не стоит забывать, что IT не главное звено в многих компаниях, и
>звено бюджетное, а не то, что приносит доход. Поэтому, не пользователи
>должны подстраиваться под "умных админов", а они под пользователей.Дык требования пользователей могут проявляться и в виде "спам достал". :-)
>Не согласны, проходите мимо.
>Я правильно понял, что Вы потеряли гибкость мышления ? :-)Скорее переосмыслил. гибкость в этом вопросе не лучший вариант
>Дык требования пользователей могут проявляться и в виде "спам достал". :-)
В любой почтовой программе простого обывателя, есть антиспам, который складывает помеченные файлы в отдельную папку, и учиться заодно.
То есть, я хочу сказать, что это уже его проблема, что делать с письмами. Наше дело, чтоб они доходили по обывателя.
>>Я правильно понял, что Вы потеряли гибкость мышления ? :-)Да спамер он, к тому же наивный ... это тоже пройдёт с возрастом :)
>То есть, я хочу сказать, что это уже его проблема, что делать
>с письмами. Наше дело, чтоб они доходили по обывателя.Dоооо - а к примеру письма с вирусами - тоже доставлять? Там же контракт на мильЁн!? :)
>[оверквотинг удален]
>приходит ВАЖНОЕ письмо, это рано или поздно происходит.
>Простому обывателю все равно, как и что настраивает "умный администратор", ему важен
>результат.
>
>Раньше я тож думал "как вы", с годами прошло.
>Не стоит забывать, что IT не главное звено в многих компаниях, и
>звено бюджетное, а не то, что приносит доход. Поэтому, не пользователи
>должны подстраиваться под "умных админов", а они под пользователей.
>
>Не согласны, проходите мимо.Твое мнение это слова зарвавшегося мальчика-ламера.
Сиди дальше без PTR, без SPF и т.д. и читай спам. Приятного.
>
> Твое мнение это слова зарвавшегося мальчика-ламера.
>
> Сиди дальше без PTR, без SPF и т.д. и читай спам.
>Приятного.Проходи мимо, молокосос вчерашний...
Никто не говорил про SPF и PTR. Это само-собой разумеющееся.
Настраивай свои сервера как тебе угодно, а здесь людям не засирай голову.
Из-за таких как ты, люди и мучаются, и не могут отправить. А всё потому, что вчерашний пацаненок, начитался "умных" статей в интернете, и "настроил" почтовик, как сказали "умные" дяди в статьях.Вали в лес.
>еще хочется добавить что отбрасывая письма Вы создаете кучу проблем,как своим работникам,
>так и посылающим реальные письма.Реальные пацаны посылают реальные письма? :)
>Подход изначально отвратительный.Не надо ля-ля!
>
>Возмите пример гугла - вот правильный подход, пропускать всё, а юзер пусть
>сам разбирается что к чему.Подход крайне идиотский. Именно из-за таких деятелей еще существует спам. На моих почтовых серверах спам равен 10-50 писем в год, и то "тестовые/честные", спамеры проверяют работоспособность почтовика. То о чем ты говоришь в гугле делали это совершенно не из благих намерений, а затем что-бы как можно больше инфы упало в их базы для анализа и т.д.
А пользователь должен постояно наблюдать кучу гуано в своем ящике, это подход не отвратительный?
>И главное настройте нормально антиспам, но не чтоб удалял или не принимал,
>а просто помечал.Мне тебя жаль. Пили гири, кури кактус, мне пофиг...
>>И главное настройте нормально антиспам, но не чтоб удалял или не принимал,
>>а просто помечал.
>
> Мне тебя жаль. Пили гири, кури кактус, мне пофиг...
>Ты себя пожалей... или нет, тебя пожалеют, когда почта не дойтет нужная... и долго еще будут жалеть... :)
Я не навязывю свое мнениё.
Но я бы делал только проверку SPF, а если у отправителя такой записи нет то REJECT. И виноват будет админ отправителя, а не я со своими "коварными проверками"
Почему вот моя почта уходит на все домены и проходит самые жесткие проверки!? Мои пользюки не страдают при отправки почты!Все мои проверки не нарушают RFC, хотя его можно и нарушать :)
У нас люди жаловались на спам, теперь жалуются на то что письма от некторых доменов не доходят. Раньше(когда стоял Exchange Edge) за сутки проходило около 3000 Писем, теперь проходит около 700
Для всех хорошим не будешь.
>Я не навязывю свое мнениё.
>Но я бы делал только проверку SPF, а если у отправителя такой
>записи нет то REJECT. И виноват будет админ отправителя, а не
>я со своими "коварными проверками"Неужели? Если я ставлю в обратном адресе дегатимного письма другой адрес, то мое письмо не доходи до получателя. Виноват администратор отправителя? Виноват отправитель?
>Почему вот моя почта уходит на все домены и проходит самые жесткие
>проверки!? Мои пользюки не страдают при отправки почты!
>
>Все мои проверки не нарушают RFC, хотя его можно и нарушать :)
>
>У нас люди жаловались на спам, теперь жалуются на то что письма
>от некторых доменов не доходят.Это по твоему хорошо, что люди жалются что от некоторых отправителей не доходит почта?
Да тут есть чем гордиться.>Раньше(когда стоял Exchange Edge) за сутки
>проходило около 3000 Писем, теперь проходит около 700
>Для всех хорошим не будешь.
Я с вами не спорю.
Уже понял что вы хотите сасать спам, вам никто не мешает.
Наше руководство решило пожертвовать доменами где криво настроена почта.
Им отправляется соответсвующее письмо на postmaster@.Я счита,ю раз от меня почта не уходит то виноват я. Но если ко мне что-то не идет потомучто руки кривые то уж извините, сделайте как нужно и оно дойдет.
Кому интересно могу показать свои настройки postfix(как пограничный сервер)+spamassasin+postgrey. Postfix служит только для приема почты из вне, исходящя почта в мир идет сразу с HubTransport серверов. Вдруг кто-то подскажет как сделать мои настройки лучше.
покажите, я бы посмотрела
/etc/postfix/main.cfalias_maps = hash:/etc/aliases
virtual_alias_maps = hash:/etc/aliases
smtpd_banner = mailalm.example.com JSC "NAT Kazakhstan"
# Disable unix notifications
biff = no
delay_warning_time = 12h
strict_rfc821_envelopes = yes
smtpd_helo_required = yessmtpd_recipient_restrictions =
reject_unauth_pipelining
reject_non_fqdn_sender
reject_non_fqdn_recipient
reject_non_fqdn_helo_hostname
reject_invalid_helo_hostname
reject_unauth_destination
reject_multi_recipient_bounce
check_helo_access hash:/etc/postfix/checks/helo_checks
check_helo_access pcre:/etc/postfix/checks/helo_checks.pcre
check_sender_access hash:/etc/postfix/checks/sender_checks
check_recipient_access hash:/etc/postfix/checks/recipient_checks
# reject_unknown_helo_hostname
reject_unknown_client_hostname
check_client_access pcre:/etc/postfix/checks/client_check.pcre
reject_unknown_sender_domain
reject_unknown_address
check_policy_service unix:private/spf
reject_unlisted_recipient
# check_client_access hash:/etc/postfix/checks/client_check
reject_rbl_client pbl.spamhaus.org
reject_rbl_client zen.spamhaus.org
reject_rbl_client sbl.spamhaus.org
reject_rbl_client xbl.spamhaus.org
reject_rbl_client cbl.abuseat.org
reject_rbl_client bl.spamcop.net
reject_rbl_client dnsbl.sorbs.net
reject_rhsbl_client rhsbl.sorbs.net
check_policy_service inet:127.0.0.1:60000myorigin = example.com
myhostname = mailalm.example.com
mydestination =
mynetworks =virtual_mailbox_domains = example.com
virtual_mailbox_maps = proxy:ldap:ldapmap
virtual_transport = hash:/etc/postfix/virtual_transport
transport_maps = hash:/etc/postfix/virtual_transportldapmap_version = 3
ldapmap_domain = example.com
ldapmap_bind_dn = postfix@example.com
ldapmap_bind_pw = MegoPassword
ldapmap_search_base = dc=example, dc=com
ldapmap_server_host = dc05.example.com, dc06.example.com
ldapmap_server_port = 3268
ldapmap_query_filter = (&(proxyAddresses=smtp:%s)(|(&(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))(objectClass=group)))
ldapmap_result_filter = %s
ldapmap_result_attribute = mail
-------------------------------------------------------------------------------/etc/postfix/master.cf
# Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
spamf unix - n n - - pipe
user=spam argv=/home/spam/spamfilter.sh -f $(sender) -- $(recipient)
smtp inet n - - - - smtpd
-o content_filter=spamf
smtp unix - - - - - smtp
spf unix - n n - - spawn
user=nobody argv=/usr/bin/policyd-spf
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - - proxymap
relay unix - - - - - smtp
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
virtual unix - n n - - virtual
anvil unix - - - - 1 anvil
--------------------------------------------------------------------------/etc/postfix/checks/client_check
мои доверненные домены OK Trust to this domen
..--------------------------------------------------------------------------
/etc/postfix/checks/client_check.pcre/(modem|dia(l|lup)|dialin|dsl|p[cp]p|cable|catv|poo(l|les)|dhcp|client|customer|user|[0-9]{6,})(-|\.|[0-9])/ REJECT spamer hostname
/(\d{1,3}-\d{1,3}-\d{1,3}-\d{1,3})/ REJECT numeric hostname--------------------------------------------------------------------------
/etc/postfix/checks/helo_checksexample.com REJECT You are not me 1
mail.example.com REJECT You are not me 2
mailalm.example.com REJECT You are not me 3
localhost REJECT You are not localhost 4
myip REJECT You are not me 5
secondmyip REJECT You are not me 6
..--------------------------------------------------------------------------
/etc/postfix/checks/helo_checks.pcre/\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}/ REJECT I don't like dynamic addressess
--------------------------------------------------------------------------
/etc/postfix/checks/sender_checksexample.com REJECT you are not @example.com .!.
subscribe.ru REJECT mail from subscribe.ru deny
humo.ru REJECT mail from humo.ru deny
wapstat.ru REJECT mail from wapstat.ru deny
odnoklassniki.ru REJECT mail from odnoklassniki.ru deny
amazon.com REJECT mail from amazon.com deny
undp.org REJECT mail from undp.org deny
vkontakte.ru REJECT mail from vkontakte.ru deny
imhonet.ru REJECT mail from imhonet.ru deny
mirtesen.ru REJECT mail from mirtesen.ru deny
corp.mail.ru REJECT mail from corp.mail.ru deny
khodorkovsky.ru REJECT mail from khodorkovsky.ru deny
monamour.ru REJECT mail from monamour.ru deny
cnews.ru REJECT mail from cnews.ru deny
pirivet.msk.ru REJECT mail from pirivet.msk.ru deny
rin.ru REJECT mail from rin.ru deny
mail.kz REJECT mail from mail.kz deny
supercom.kz REJECT mail from supercom.kz deny
rbc.ru REJECT mail from rbc.ru deny
intourservice.kz REJECT mail from intourservice.kz deny
ozon.ru REJECT mail from ozon.ru deny
ashleyllc.com REJECT mail from ashleyllc.com deny
yahoo.com REJECT mail from yahoo.com deny
knc.kz REJECT mail from knc.kz deny
ak-cent.kz REJECT mail from ak-cent.kz deny
proxad.net REJECT mail from proxad.net deny
facebookmail.com REJECT mail from facebookmail.com deny
euratechnews.de REJECT mail from euratechnews.de deny--------------------------------------------------------------------------
/home/spam/spamfilter.sh#!/bin/sh
INSPECT_DIR=/home/spam/mail
SENDMAIL="/usr/sbin/sendmail -i"
SPAMASSASSIN=/usr/bin/spamc
EX_TEMPFAIL=75
EX_UNAVAILABLE=69
cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit
$EX_TEMPFAIL; }
# Clean up when done or when aborting.
trap "rm -f in.$$; rm -f out.$$" 0 1 2 3 15
cat | $SPAMASSASSIN > out.$$ || { echo Message content rejected; exit
$EX_UNAVAILABLE; }
$SENDMAIL "$@" < out.$$
exit $?--------------------------------------------------------------------------
/etc/spamassassin/local.cfrewrite_header Subject *****SPAM*****
use_bayes 1
bayes_auto_learn 1
lock_method flock
bayes_min_spam_num 50
bayes_min_ham_num 50
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Statusrequired_score 6
score HTTP_USERNAME_USED 7
score FAKE_HELO 7
score FORGED_RCVD 7
score UNWANTED_LANGUAGE_BODY 7
score MLM 5
score RCVD_NUMERIC_HELO 4
score MISSING_SUBJECT 3
score SPF_PASS -5
score RDNS_DYNAMIC 8
score MSGID_OUTLOOK_INVALID 5body VIAGRA /viagra/i
body PENIS /penis/i
score VIAGRA 8
score PENIS 8
score DEAR_WINNER 8ok_locales ru en
--------------------------------------------------------------------------
/etc/postgrey/whitelist_clients# postgrey whitelist for mail client hostnames
# --------------------------------------------
# put this file in /etc/postgrey or specify its path
# with --whitelist-clients=xxx# Debian-specific additions
# I *know* they run real mail queues, so greylisting only creates
# bigger load for them.gmail.com
google.com
mail.ru
bk.ru
list.ru
rambler.ru
yandex.ru
yandex.net--------------------------------------------------------------------------
/etc/postgrey/whitelist_recipients# postgrey whitelist for mail recipients
# --------------------------------------
# put this file in /etc/postgrey or specify its path
# with --whitelist-recipients=xxxpostmaster@
abuse@
Вроде ничего не забыл :)Теперь давайте искать где я накосячил
>Вроде ничего не забыл :)
>Теперь давайте искать где я накосячилТы лавку запалил :) Или гойцев подставил? :)
(Привет от бывшего земляка! :)
>>Вроде ничего не забыл :)
>>Теперь давайте искать где я накосячил
>
>Ты лавку запалил :) Или гойцев подставил? :)
>
>(Привет от бывшего земляка! :)Через кэширующию ису фигова правит текст )))