[freebsd] dma(8) mail forwarding

Anton Saietskii vsasjason at gmail.com
Wed Jun 29 23:06:07 EEST 2022


On Wed, Jun 29, 2022, 23:03 George L. Yermulnik <yz at yz.kiev.ua> wrote:

> Hello!
>
> On Wed, 29 Jun 2022 at 21:25:25 (+0300), Anton Saietskii wrote:
>
> > > > И вот такой конфиг dma:
> > > > SMARTHOST smtp.google.com
> > > > SECURETRANSFER
> > > > STARTTLS
> > > > MASQUERADE dma@
>
> > > > Письма от periodic приходят прекрасно, а от update_srcports.sh (там
> > > > вызовы git, zfs snapshot и poudriere) -- не со следующей ошибкой:
> > > > Jun 29 12:33:44 freebsdvm dma[961a][56264]: new mail from user=root
> > > > uid=26 envelope_from=<dma at freebsdvm.localdomain>
> > > > Jun 29 12:33:44 freebsdvm dma[961a][56264]: mail
> > > > to=<vsasjason+freebsdvboxvm at gmail.com> queued as 961a.7b883c0c050
> > > > Jun 29 12:33:44 freebsdvm dma[961a.7b883c0c050][56265]:
> > > > <vsasjason+freebsdvboxvm at gmail.com> trying delivery
> > > > Jun 29 12:33:45 freebsdvm dma[961a.7b883c0c050][56265]: trying remote
> > > > delivery to smtp.google.com [64.233.165.26] pref 0
> > > > Jun 29 12:33:45 freebsdvm dma[961a.7b883c0c050][56265]: remote
> > > > delivery to smtp.google.com [64.233.165.26] failed after final DATA:
> > > > 550-5.7.1 [x.x.x.x] Messages missing a valid address in From: header,
> > > > or^M 550 5.7.1 having no From: header, are not accepted.
> > > > s5-20020a2e81c5000000b0025a97d857besi6415ljg.150 - gsmtp
>
> > > > Чего же мне такого интересного в последнем скрипте не хватает, что
> > > > даже MASQUERADE не помогает? Я неправильно воспринимаю ошибку gsmtp?
>
> > > Думаю, если посмотреть в хидера сформированного письма, хидер From: (не
> > > envelope-from, а From:) там отсутствует. Не знаю, как в dma это
> > > заенфорсить.
>
> > Дык, от periodic-то всё нормально приходит! Смотрю в него, а там:
> > output_pipe()
> > {
> >     # Where's our output going ?
> >     eval output=\$${1##*/}_output
> >     case "$output" in
> >     /*) pipe="cat >>$output";;
> >     "") pipe=cat;;
> >     *) pipe="mail -E -s '$host ${2}${2:+ }${1##*/} run output' $output";;
> >     esac
> >     eval $pipe
> > }
> > Никаких "From:" и в помине нет, только сабж. Может, gsmtp на самом деле
> > сабж не устраивает, а не отправитель и текст ошибки врёт?
> > Бегло глянул в код dma -- там "subject" (case insensitive) встречается
> > только один раз, когда он bounce делает. Вероятно, письмо с выводом
> > update_srcports вообще без этого заголовка уходит...
>
> > Как кошерно закостылить, пока не придумал... Формировать письмо ручками
> > неохота, да и этот скрипт иногда руками запускается, там письмо не нужно
> --
> > вывод в консоли смотрим.
> > Можно в тот же periodic завернуть, но хотелось бы вывод poudriere bulk -n
> > получать не в daily run output, а отдельно.
>
> Так а не "mail -E ..." ли срабатывает и формирует "From:" в этом
> periodic скрипте? Или у тебя вывод твоего скрипта тоже mail'ом
> отправляется?
>
-E никакого отношения к From не имеет:
     -E Do not send messages with an empty body. This is useful for pip-
      ing errors from cron(8) scripts.

У меня скрипт просто плюёт в stdout/stderr. Автомагически форвардить вывод
в почту -- функция cron/anacron, разве нет?

>
> --
> George L. Yermulnik
> [YZ-RIPE]
> _______________________________________________
> freebsd mailing list
> freebsd at uafug.org.ua
> http://mailman.uafug.org.ua/mailman/listinfo/freebsd
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.uafug.org.ua/pipermail/freebsd/attachments/20220629/ade937a7/attachment.htm>


More information about the freebsd mailing list