>> Проблема появилась после апгрейда 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, мой юзер не получит это письмо.