[freebsd] dma(8) mail forwarding

George L. Yermulnik yz at yz.kiev.ua
Thu Jul 7 21:20:31 EEST 2022


Hello!

Всем сорри за лонгрид, в который перерос этот по виду невинный трид. По
сути уже ничего интересного в тексте нет, а просто переписка с Антоном
(для которого ответы ниже по тексту).

On Thu, 07 Jul 2022 at 19:53:30 (+0300), Anton Saietskii wrote:

> > > > Вероятно, у тебя были какие-то серьёзные аргументы в пользу выбора
> > > > утилиты, используемой для формирования и отправки email, но которая не
> > > > может удовлетворить все необходимые поинты.
> > > Включение dma в базовую систему, очевидно же.

> > А-а-а, так "ты его просто готовить не умеешь" =)))

> Почему же? Умею, письма в целом доставляются, о чём я уже писал ранее.

Как почему же? Потому, что "It accepts mails from locally installed Mail
User Agents (MUA)".

> [--- cut ---]
> > DESCRIPTION
> >      dma is a small Mail Transport Agent (MTA), designed for home and
> > office
> >      use.  It accepts mails from locally installed Mail User Agents (MUA)
> > and
> >      delivers the mails either locally or to a remote destination.
> > [--- cut ---]

> > Я прям сильно настаиваю, что твой скрипт нифига не MUA, но при этом в
> > задачи MUA входит в том числе формирование всех нужных и ненужных
> > заголовков правильно.

> Нисколько с этим не спорил и не спорю. Но дело в том, что мой скрипт и _не
> должен_ быть MUA, как и любой другой мой скрипт (и твой тоже).

Если мой скрипт должен что-то слать в почту, то я или использую mail,
или скармливаю вывод напрямую MTA, предварительно сформировав
недостающие заголовки.

> Сперва я полагался на то, что эти задачи выполнит anacron, как заявлено у

Линуховый anacron, кстати, умеет "If the LOGNAME environment variable is
set, it will be used as From: field.". У фрёвого такого в man'е нет, но,
может быть, он тоже умеет?

> него в описании. Он не справился и я завернул скрипт в periodic(8) и всё
> заработало, о чём также писал ранее. Внимательнее, пожалуйста.

В приведённом тобой periodic-скрипте для отправки аутпута в почту
используется mail, насколько я помню. Изначально это звено цепочки
(MUA) было тобой упущено, из-за чего и возникло изначальное ишшью.

> > > Опять же: никто не мешает сформировать все нужные хидера самостоятельно
> > > > и отдать это MTA напрямую (или через этот dma(8))
> > > Лень. Виртуалка тестовая -- не прод, так что отсутствие некоторых из
> > > ежедневных писем можно и потерпеть.
> > > На проде, конечно, будет какой-нибудь relay в виде postfix, где и
> > > rDNS, и SPF, и всё остальное нужное.

> > postfix тоже MTA, так что от отсутствия нормально сформированных
> > заголовков он тоже не вылечит.
> > я бы даже расширил твою мысль, что нужен не просто абстрактный postfix
> > как mta, а функционально отдельный smtp relay со всем этим барахлом.

> В третий раз прошу быть внимательнее -- я сразу relay написал.

Тут действительно я не подумал, что ты имеешь в виду отдельный хост.
Правда, это проблему с отсутствующим "From:" при изначальных условиях не
решит.

> Это их система и это они устанавливают правила.

> Не спорю. По их правилам и делалось (
> https://support.google.com/mail/answer/7126229?hl=en#zippy=%2Cstep-change-smtp-other-settings-in-your-email-client
> )

"Set up IMAP and change your SMTP settings to read Gmail messages in
other mail clients, like Microsoft Outlook and Apple Mail." - тут речь о
MUA, которые формируют нужные заголовки правильно. А у тебя изначальное
ишшью именно из-за отсутствия MUA при отправке писем.

> Кстати, этот мануал не совсем корректен -- smtp.gmail.com не слушает 587 и
> 465, только 25 на самом деле.

Не знаю, какое это отношение имеет к этому триду, но smtp.gmail.com
слушает на обоих этих портах и даже принимает на них почту на самом
деле.

> > же была важная деталь -- я не рандомно плюю письмами с непонятного
> > > адреса, а по сути делаю то же, что делает любой пользователь
> > > Thunderbird (ну, кроме того, что они обычно письма не сами себе, а
> > > другим шлют; однако механизм тот же).

> > Не путай тёплое с мягким: твой скрипт без формирования заголовков, мягко
> > говоря, далеко стоит Thunderbird, который MUA, а не шелл скрипт =)

> Мой скрипт не формирует письмо (это делает periodic(8), вызывая mail) и не
> доставляет его на smtp.google.com (это делает dma).
> Тем не менее, механизм всё-такт ровно тот же -- сам процесс отправки письма
> ничем не отличается.

Но при этом mail добавляет тот недостающий "From:", из-за которого у
тебя возникло ишшью, давшее старт этому триду. Т.е. механизм отправки
письма тот же, а вот механизм формирования письма - отличаетмся.

> > А я что-то не помню, чтобы каждого домашнего пользователя заставляли
> > > покупать домен и всякие email-auth штуки вписывать. ;-)

> > Зачем же обобщать и переиначивать? Гугл не заставляет тебя делать такое.

> Да, это я и написал -- не заставляет.

> Гугл тебя заставляет подчиняться их правилам при использование их сервиса.

> В соответствии с ними я и настроил.

Настроил MTA, а ссылку дал на настройку MUA.

> Ты с лёгкостью можешь обойти это ограничение, но тебе лень, как ты выше
> > написал =)

> Ограничение на наличие SPF не могу, уж точно не с лёгкостью. В инструкции
> по ссылке выше SPF не упомянут и вовсе.

Ещё раз: приведённая инструкция не имеет отношения к MTA.

-- 
George L. Yermulnik
[YZ-RIPE]


More information about the freebsd mailing list