заметки о sendmail
отправка почты в submission порт
новый тренд в почтовых системах сейчас - это приём почты от своих через отдельный (submission) порт, на котором сняты все ограничения, но требуется шифрование и авторизация. вполне логично было бы прописывать серверам отправлять во внешний мир почту через этот порт релея. большинство советов, которые удалось найти, советуют вписать что-то в .cf.
даже здесь в первой части ответа адекватный совет модифицировать .mc, а во второй части почему-то предложение залезти в .cf. очевидно, автор ответа не видит дальше своего носа /etc/mail и думает, что это удобно каждый раз после компиляции .mc дописывать что-то в .cf и не забыть про это. ответ нашёлся в /usr/share/sendmail/cf/mailer/smtp.m4. нужно дописать в freebsd.mc:
FEATURE(mailertable, `hash -o /etc/mail/mailertable') FEATURE(authinfo, `hash -o /etc/mail/authinfo') Mesmtp587, P=[IPC], F=_MODMF_(CONCAT(_DEF_SMTP_MAILER_FLAGS, `a', SMTP_MAILER_FLAGS), `ESMTP'), S=EnvFromSMTP/HdrFromSMTP, R=ifdef(`_ALL_MASQUERADE_', `EnvToSMTP/HdrFromSMTP', `EnvToSMTP'), E=\r\n, L=SMTP_MAILER_LL, _OPTINS(`SMTP_MAILER_MAX', `M=', `, ')_OPTINS(`SMTP_MAILER_MAXMSGS', `m=', `, ')_OPTINS(`SMTP_MAILER_MAXRCPTS', `r=', `, ')_OPTINS(`SMTP_MAILER_CHARSET', `C=', `, ')T=DNS/RFC822/SMTP,_ESMTP_QGRP A=`TCP $h 587'
/etc/mail/mailertable:
. esmtp587:relay.domain.tld
/etc/mail/authinfo:
AuthInfo:relay.domain.tld "U:[email protected]" "P:password"
и выполнить:
cd /etc/mail makemap hash mailertable.db < mailertable makemap hash authinfo.db < authinfo make all install clean restart
отсутствие суффикса в адресе отправителя
если fqdn имя хоста не ресолвится в адрес, то в адреса отправителя письма, отправленном через sendmail с помощью mail не будет суффикса, а будет просто имя без точек. например: user@testhost вместо [email protected].