wiki:notes/sendmail

Version 2 (modified by root, at 2016-07-17T19:48:41Z) (diff)

--

заметки о 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].