The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Sendmail не перенаправляет определенного типа письма."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Sendmail не перенаправляет определенного типа письма."  +/
Сообщение от rontex email(ok) on 09-Окт-15, 17:50 
Проблема появилась после апгрейда sendmail...
Sendmail выполняет роль релея на внутренний почтовый сервер под виндой, впринципе все работает, но если приходит письмо где, в поле TO: есть несколько адресов, и один из этих адресов имеет имеет домен который не резолвится, то sendmail говорит следующее:

Running /var/spool/mqueue/t997tnwB007793 (sequence 1 of 1)
<vasya@mydomail.com>... Connecting to localmail via smtp...
.....
>>> DATA

354 Enter mail, end with <CRLF>.<CRLF>
centrppa.ru: Name server timeout
timeout writing message to localmail
<vasya@mydomail.com>... Deferred: Name server: localmail: host name lookup failure
Closing connection to localmail.

<vasya@mydomail.com> - это реальный внутренний адрес
<assefd@centrppa.ru> - второй адресс в поле TO:

Стоит в spoll отредактировать заголовки удалив проблемный адрес, все начинает бегать.

Подскажите как исправить ситуацию.. подозреваю что надо увеличить какой-то timeout или отключить проверку адресов на резолв в поле TO, но как это сделать пока не нашел.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Sendmail не перенаправляет определенного типа письма."  +/
Сообщение от Павел Самсонов email on 10-Окт-15, 15:49 
>[оверквотинг удален]
> centrppa.ru: Name server timeout
> timeout writing message to localmail
> <vasya@mydomail.com>... Deferred: Name server: localmail: host name lookup failure
> Closing connection to localmail.
> <vasya@mydomail.com> - это реальный внутренний адрес
> <assefd@centrppa.ru> - второй адресс в поле TO:
> Стоит в spoll отредактировать заголовки удалив проблемный адрес, все начинает бегать.
> Подскажите как исправить ситуацию.. подозреваю что надо увеличить какой-то timeout или
> отключить проверку адресов на резолв в поле TO, но как это
> сделать пока не нашел.

Не надо ничего изменять. Такое письмо доставляется кому возможно, если кому то доставить нельзя - оно замораживается и должно удалиться сервером через сколько то дней.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Sendmail не перенаправляет определенного типа письма."  +/
Сообщение от rontex (ok) on 10-Окт-15, 17:12 

> Не надо ничего изменять. Такое письмо доставляется кому возможно, если кому то
> доставить нельзя - оно замораживается и должно удалиться сервером через сколько
> то дней.

В том то и дело, что ничего не доставляется... Sendmail обрывает соединение на этапе передачи тела письма и данные не передаются, это видно и по логам виндового сервера Mdeamon. Адресат vasya@mydomail.com не получает письмо. Он его получит, если как я писал, отредактировать поле TO убрав ошибочный адрес с нерозолвящимся доменом.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "Sendmail не перенаправляет определенного типа письма."  +/
Сообщение от Павел Самсонов email on 12-Окт-15, 17:43 
>> Не надо ничего изменять. Такое письмо доставляется кому возможно, если кому то
>> доставить нельзя - оно замораживается и должно удалиться сервером через сколько
>> то дней.
> В том то и дело, что ничего не доставляется... Sendmail обрывает соединение
> на этапе передачи тела письма и данные не передаются, это видно
> и по логам виндового сервера Mdeamon. Адресат vasya@mydomail.com не получает письмо.
> Он его получит, если как я писал, отредактировать поле TO убрав
> ошибочный адрес с нерозолвящимся доменом.

Мда, sendmail не знаю. exim к каждому письму ведет конверт, если много получателей он пишет туда кому уже доставил, кому не может. Потом письмо замораживается, и потом он его удалит (потполитике повторов).

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Sendmail не перенаправляет определенного типа письма."  +/
Сообщение от Аноним (??) on 11-Окт-15, 23:11 
> Проблема появилась после апгрейда sendmail...

А вы пробовали читать Release Notes к обновленной версии? Или просто "нужно было обновить"? Там обычно много интересного пишут в плане что что-то может перестать работать, меняются опции, перестает работать связка с каким-нибудь сервисом типа антиспам, грейлистинг и т.п.  
Соберите заново sendmail.mc и сконвертируйте его в .cf

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Sendmail не перенаправляет определенного типа письма."  +/
Сообщение от rontex email(ok) on 12-Окт-15, 09:31 
>> Проблема появилась после апгрейда sendmail...
> А вы пробовали читать Release Notes к обновленной версии? Или просто "нужно
> было обновить"? Там обычно много интересного пишут в плане что что-то
> может перестать работать, меняются опции, перестает работать связка с каким-нибудь сервисом

Искал, читал, гуглил и если бы нашел решение проблемы, тут бы не писал пост.
> типа антиспам, грейлистинг и т.п.

нет не антиспамов и грейлистингов, только sendmail
> Соберите заново sendmail.mc и сконвертируйте его в .cf

freebsd.mc файл:

divert(0)
VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.28 2003/04/18 01:25:41 gshapiro Exp $')
OSTYPE(freebsd5)
DOMAIN(generic)

FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access')
FEATURE(relay_hosts_only)
FEATURE(blacklist_recipients)
FEATURE(local_lmtp)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')
FEATURE(nouucp, `reject')
undefine(`UUCP_RELAY')
undefine(`BITNET_RELAY')
undefine(`DECNET_RELAY')

dnl Enable STARTTLS for receiving email.
define(`CERT_DIR', `/etc/mail/certs')dnl
define(`confSERVER_CERT', `CERT_DIR/host.cert')dnl
define(`confSERVER_KEY', `CERT_DIR/host.key')dnl
define(`confCLIENT_CERT', `CERT_DIR/host.cert')dnl
define(`confCLIENT_KEY', `CERT_DIR/host.key')dnl
define(`confCACERT', `CERT_DIR/cacert.pem')dnl
define(`confCACERT_PATH', `CERT_DIR')dnl
define(`confDH_PARAMETERS', `CERT_DIR/dh.param')dnl

FEATURE(dnsbl, `dnsbl.sorbs.net', `"550 Mail from " $&{client_addr} " rejected, see http://sorbs.net"')dnl
FEATURE(dnsbl, `bl.spamcop.net', `"550 Mail from " $&{client_addr} " rejected, see http://spamcop.net"')dnl
FEATURE(dnsbl, `cbl.abuseat.org', `"550 Mail from " $&{client_addr} " rejected, see http://abuseat.org"')dnl

define(`confCW_FILE', `-o /etc/mail/local-host-names')

dnl Uncomment both of the following lines to listen on IPv6 as well as IPv4
dnl DAEMON_OPTIONS(`Name=IPv4, Family=inet')
dnl DAEMON_OPTIONS(`Name=IPv6, Family=inet6')

dnl The group needs to be mail in order to read the sasldb2 file
define(`confRUN_AS_USER',`root:mail')dnl
dnl if cyrus-imapd and sendmail on the same server
define(`confDONT_BLAME_SENDMAIL',`GroupReadableSASLDBFile')dnl

TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 PLAIN LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 PLAIN LOGIN')dnl
define(`confDEF_AUTH_INFO', `/etc/mail/auth/auth-info')dnl
FEATURE(`no_default_msa')dnl turn off default entry for MSA
DAEMON_OPTIONS(`Port=25, Name=MSA, M=E')dnl

define(`_RELAY_FULL_ADDR_',`1')dnl
define(`confMAX_RCPTS_PER_MESSAGE', `40')dnl
define(`confMAX_MESSAGE_SIZE', `26214400')dnl
define(`confPRIVACY_FLAGS', `goaway,authwarnings,noexpn,novrfy,needmailhelo,restrictmailq,restrictqrun,nobodyreturn')dnl
define(`confTO_COMMAND', `1m')dnl
define(`confMAX_HEADERS_LENGTH', `16384')dnl
define(`confMAX_MIME_HEADER_LENGTH', `256/128')dnl
define(`confMAX_DAEMON_CHILDREN',`25')dnl
define(`confBIND_OPTS', `WorkAroundBrokenAAAA')dnl
define(`confNO_RCPT_ACTION', `add-to-undisclosed')dnl

MAILER(local)
MAILER(smtp)

INPUT_MAIL_FILTER(`clamav', `S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m;C:30s;E:10m')dnl
define(`confINPUT_MAIL_FILTERS', `clamav')

LOCAL_CONFIG

Knondsl1                regex -a@MATCH (^|[0-9.-])(mail|mailrelay|mta|mx|relay|smtp)[0-9.-]
Knondsl2                regex -a@MATCH \.(hotmail\.com|rax\.ru|ip\.net\.ua|obsmtp\.com|postini\.com)$

Kdsl1                   regex -a@MATCH ([0-9].*){6,}
Kdsl2                   regex -a@MATCH (^|[0-9.-])([axv]dsl|as|bgp|broadband|cable|[ck]lient|dhcp|dial|dialin|dialup|dialer|dip|dsl|dslam|dup|dyn|dynamic|host|ip|isdn|modem|nas|node|pool|nat|ppp||pppo[ae]|sirius.*ukrtel.*|user|users|vpn)[0-9.-]
Kdsl3                   regex -a@MATCH [0-9a-f]{13,}
Kdsl4                   regex -a@MATCH (^|\.)[0-9]*[.-]
Kdsl5                   regex -a@MATCH (-.*){3,}
Kdsl6                   regex -a@MATCH \.(ipt\.aol\.com|internetdsl\.tpnet\.pl|rr\.com|pppool\.de|adelphia\.net|osnanet\.de|dedicado\.com\.uy)$


LOCAL_RULESETS

SLocal_check_relay

R$*                     $: < $&{client_resolve} >
R<TEMP>                 $#error $@ 4.7.1 $: "450 Relaying temporarily denied. IP name lookup failed for " $&{client_addr}
R<FAIL>                 $#error $@ 5.7.1 $: "550 Relaying denied. IP name lookup failed for " $&{client_addr}
R<FORGED>               $#error $@ 5.7.1 $: "550 Relaying denied. IP name forged (PTR and A records mismatch) for " $&{clientt_addr}

R$*                     $: $(nondsl1 $&{client_name} $)
R@MATCH                 $@ OK
R$*                     $: $(nondsl2 $&{client_name} $)
R@MATCH                 $@ OK

R$*                     $: $(dsl1 $&{client_name} $)
R@MATCH                 $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name} " [" $&{client_addr} "] (1), please use Provider SMTP"
R$*                     $: $(dsl2 $&{client_name} $)
R@MATCH                 $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name} " [" $&{client_addr} "] (2), please use Provider SMTP"
R$*                     $: $(dsl3 $&{client_name} $)
R@MATCH                 $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name} " [" $&{client_addr} "] (3), please use Provider SMTP"
R$*                     $: $(dsl5 $&{client_name} $)
R@MATCH                 $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name} " [" $&{client_addr} "] (5), please use Provider SMTP"
R$*                     $: $(dsl6 $&{client_name} $)
R@MATCH                 $#error $@ 5.7.1 $: "554 DSL or DialUp sender " $&{client_name} " [" $&{client_addr} "] (6), please use Provider SMTP"

Это было сделано сразу, скажу больше подымал FreeBsd 10.2 с нуля, соответсвенно sendmail+sasl из портов(предварительно обновленных) ведет себя также. Мне вообще не понятно зачем sendmail пытается резолвить все домены адресатов в поле имеено в поле "TO" ("From" я бы еще понял это полезно), при релее далее на сервак в локалке... зачем это вообще надо. Ведь в данном случае если кто-то из отправлявших письмо ошибется хоть в одном из адресов(опечатка в домене) в поле TO, мой юзер не получит это письмо.


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру