[freebsd] dma(8) mail forwarding

102 views
Skip to first unread message

Anton Saietskii

unread,
Jun 29, 2022, 9:55:53 AM6/29/22
to Рассылка FreeBSD UA
Приветствую,

Играюсь тут с сабжем, и часть писем (всегда одну и ту же он не доставляет).

Имеется вот такой конфиг anacron:
# days delay id command
1 5 daily periodic daily
7 10 weekly periodic weekly
30 15 monthly periodic monthly
1 20 update_srcports /root/bin/update_srcports.sh

И вот такой конфиг 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=<d...@freebsdvm.localdomain>
Jun 29 12:33:44 freebsdvm dma[961a][56264]: mail
to=<vsasjason+f...@gmail.com> queued as 961a.7b883c0c050
Jun 29 12:33:44 freebsdvm dma[961a.7b883c0c050][56265]:
<vsasjason+f...@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?
_______________________________________________
freebsd mailing list
fre...@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd

George L. Yermulnik

unread,
Jun 29, 2022, 10:47:54 AM6/29/22
to fre...@uafug.org.ua
Hello!

On Wed, 29 Jun 2022 at 16:55:32 (+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=<d...@freebsdvm.localdomain>
> Jun 29 12:33:44 freebsdvm dma[961a][56264]: mail
> to=<vsasjason+f...@gmail.com> queued as 961a.7b883c0c050
> Jun 29 12:33:44 freebsdvm dma[961a.7b883c0c050][56265]:
> <vsasjason+f...@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 это
заенфорсить.

--
George L. Yermulnik
[YZ-RIPE]

Anton Saietskii

unread,
Jun 29, 2022, 2:25:46 PM6/29/22
to Рассылка FreeBSD UA
Дык, от 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, а отдельно.

George L. Yermulnik

unread,
Jun 29, 2022, 4:03:40 PM6/29/22
to fre...@uafug.org.ua
Hello!

Так а не "mail -E ..." ли срабатывает и формирует "From:" в этом
periodic скрипте? Или у тебя вывод твоего скрипта тоже mail'ом
отправляется?

Anton Saietskii

unread,
Jun 29, 2022, 4:06:29 PM6/29/22
to Рассылка FreeBSD UA
-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

unread,
Jun 29, 2022, 4:20:58 PM6/29/22
to fre...@uafug.org.ua
Hello!

On Wed, 29 Jun 2022 at 23:06:07 (+0300), Anton Saietskii wrote:

> > Так а не "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.

Я не про ключ(и), а про саму команду mail.

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

Так оно и форвардит. As is. Не похоже, чтобы его (их) задачей было
устранять user errors или формировать user-friendly заголовки писем.

Заверни аутпут своего скрипта пайпой в mail.

Valentin Nechayev

unread,
Jun 29, 2022, 4:46:08 PM6/29/22
to Anton Saietskii, Рассылка FreeBSD UA
Wed, Jun 29, 2022 at 16:55:32, vsasjason wrote about "[freebsd] dma(8) mail forwarding":

> 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?

А эту dma нельзя попросить записать её общение в plaintext?

А если связать с пробным MTA и без SSL?


-netch-

Anton Saietskii

unread,
Jul 5, 2022, 5:05:57 AM7/5/22
to Valentin Nechayev, Рассылка FreeBSD UA
On Wed, Jun 29, 2022 at 11:46 PM Valentin Nechayev <ne...@netch.kiev.ua> wrote:
>
> Wed, Jun 29, 2022 at 16:55:32, vsasjason wrote about "[freebsd] dma(8) mail forwarding":
>
> > 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?
>
> А эту dma нельзя попросить записать её общение в plaintext?
Он мало чего умеет... Вижу только "-D": don't fork to background и
DEFER в конфиге -- может из spool выдрать имеется способ.

> А если связать с пробным MTA и без SSL?
Отсутствует такой, да и проблема же у меня не в SSL, а в заголовках
письма, если верить ошибке. Ну и daily/security run output приходит
нормально.
Проблема, кстати, вроде как решилась, детали в следующем письме.

Anton Saietskii

unread,
Jul 5, 2022, 5:14:01 AM7/5/22
to Рассылка FreeBSD UA
On Wed, Jun 29, 2022 at 11:21 PM George L. Yermulnik <y...@yz.kiev.ua> wrote:
>
> Hello!
>
> On Wed, 29 Jun 2022 at 23:06:07 (+0300), Anton Saietskii wrote:
>
> > > Так а не "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.
>
> Я не про ключ(и), а про саму команду mail.
Похоже, anacron зовёт таки sendmail (в mailer.conf оно указывает на
бинарь dma) и формирует письмо как-то иначе, не так как mail. Запустил
"mail root", на запрос темы ответил пустой строкой, далее ввёл тело
тестового письма. Оно было успешно доставлено. Забавно то, что и
"envelope-from", и "From:" присутствуют в виде, заданном в конфиге
dma, и ни в каких других местах не определены:

Delivered-To: vsasjason+f...@gmail.com
Return-Path: <d...@freebsdvm.localdomain>
Received: from freebsdvm.localdomain ([X.X.X.X])
by mx.google.com with ESMTPS id
c6-20020a056512104600b0047dd44655a4si20661444lfb.451.2022.06.30.00.28.33
for <vsasjason+f...@gmail.com>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 30 Jun 2022 00:28:33 -0700 (PDT)
Authentication-Results: mx.google.com;
spf=neutral (google.com: X.X.X.X is neither permitted nor
denied by best guess record for domain of d...@freebsdvm.localdomain)
smtp.mailfrom=d...@freebsdvm.localdomain
Received: from geeuk (uid 1001) (envelope-from
d...@freebsdvm.localdomain) id 98f8 by freebsdvm.localdomain (DragonFly
Mail Agent v0.11+ on freebsdvm.localdomain); Thu, 30 Jun 2022 10:28:06
+0300
To: root
Date: Thu, 30 Jun 2022 10:28:06 +0300
Message-Id: <62bd50a1.98...@freebsdvm.localdomain>
From: <d...@freebsdvm.localdomain>

> > У меня скрипт просто плюёт в stdout/stderr. Автомагически форвардить вывод
> > в почту -- функция cron/anacron, разве нет?
>
> Так оно и форвардит. As is. Не похоже, чтобы его (их) задачей было
> устранять user errors или формировать user-friendly заголовки писем.
>
> Заверни аутпут своего скрипта пайпой в mail.
Практически так и сделал -- написал короткую обёртку да положил в
{LOCALBASE}/periodic/daily. Да, оно приходит не отдельно, а вместе с
daily run output, да и пёс с ним уже... Пока работает и ладно.

Anton Saietskii

unread,
Jul 7, 2022, 9:52:38 AM7/7/22
to Рассылка FreeBSD UA
Вдогонку: и, конечно, иногда получаю "самый любимый" отлуп тех, кто
отправляет письма на гмыло:

Jul 7 11:14:16 freebsdvm dma[81ba.266fa2781050][17750]: remote
delivery to smtp.google.com [173.194.221.27] failed after final DATA:
550-5.7.26 This message does not have authentication information or
fails to^M 550-5.7.26 pass authentication checks (SPF or DKIM). To
best protect our users^M 550-5.7.26 from spam, the message has been
blocked. Please visit^M 550-5.7.26
https://support.google.com/mail/answer/81126#authentication for more^M
550 5.7.26 information.
e18-20020a05651c04d200b0025d4fa7575bsi1120151lji.366 - gsmtp

Конечно же, никаких SPF, DKIM и DMARC я для [freebsdvm.]localdomain
настаивать не буду. :-D А вообще странно -- я-то письмо отправляю _на
свой ящик,_ _аутентифицировавшись_ под ним же.

George L. Yermulnik

unread,
Jul 7, 2022, 10:15:41 AM7/7/22
to fre...@uafug.org.ua
Hello!

On Thu, 07 Jul 2022 at 16:52:11 (+0300), Anton Saietskii wrote:

> > Delivered-To: vsasjason+f...@gmail.com
> > Return-Path: <d...@freebsdvm.localdomain>

> Вдогонку: и, конечно, иногда получаю "самый любимый" отлуп тех, кто
> отправляет письма на гмыло:

Сейчас же ж начнётся "какое это имеет отношение к FreeBSD" =)

> Jul 7 11:14:16 freebsdvm dma[81ba.266fa2781050][17750]: remote
> delivery to smtp.google.com [173.194.221.27] failed after final DATA:
> 550-5.7.26 This message does not have authentication information or
> fails to^M 550-5.7.26 pass authentication checks (SPF or DKIM). To
> best protect our users^M 550-5.7.26 from spam, the message has been
> blocked. Please visit^M 550-5.7.26
> https://support.google.com/mail/answer/81126#authentication for more^M
> 550 5.7.26 information.
> e18-20020a05651c04d200b0025d4fa7575bsi1120151lji.366 - gsmtp

> Конечно же, никаких SPF, DKIM и DMARC я для [freebsdvm.]localdomain
> настаивать не буду.

Я не помню, настаивают ли стандарты и RFC, чтобы return-path был не
фейковым, но почему просто не подставить адрес получателя в envelope-from.

> :-D А вообще странно -- я-то письмо отправляю _на
> свой ящик,_ _аутентифицировавшись_ под ним же.

Ничего странного. Это их система и это они устанавливают правила. Иногда
странные, но иногда - вполне адекватные. Имхо.

Anton Saietskii

unread,
Jul 7, 2022, 10:23:29 AM7/7/22
to Рассылка FreeBSD UA
On Thu, Jul 7, 2022 at 5:15 PM George L. Yermulnik <y...@yz.kiev.ua> wrote:
>
> Hello!
>
> On Thu, 07 Jul 2022 at 16:52:11 (+0300), Anton Saietskii wrote:
>
> > > Delivered-To: vsasjason+f...@gmail.com
> > > Return-Path: <d...@freebsdvm.localdomain>
>
> > Вдогонку: и, конечно, иногда получаю "самый любимый" отлуп тех, кто
> > отправляет письма на гмыло:
>
> Сейчас же ж начнётся "какое это имеет отношение к FreeBSD" =)
>
> > Jul 7 11:14:16 freebsdvm dma[81ba.266fa2781050][17750]: remote
> > delivery to smtp.google.com [173.194.221.27] failed after final DATA:
> > 550-5.7.26 This message does not have authentication information or
> > fails to^M 550-5.7.26 pass authentication checks (SPF or DKIM). To
> > best protect our users^M 550-5.7.26 from spam, the message has been
> > blocked. Please visit^M 550-5.7.26
> > https://support.google.com/mail/answer/81126#authentication for more^M
> > 550 5.7.26 information.
> > e18-20020a05651c04d200b0025d4fa7575bsi1120151lji.366 - gsmtp
>
> > Конечно же, никаких SPF, DKIM и DMARC я для [freebsdvm.]localdomain
> > настаивать не буду.
>
> Я не помню, настаивают ли стандарты и RFC, чтобы return-path был не
> фейковым, но почему просто не подставить адрес получателя в envelope-from.
Тогда будет "envelope-from: vsas...@gmail.com; From: root" --
проверить, конечно, можно, но заранее вангую, что станет только хуже.

> > :-D А вообще странно -- я-то письмо отправляю _на
> > свой ящик,_ _аутентифицировавшись_ под ним же.
>
> Ничего странного. Это их система и это они устанавливают правила. Иногда
> странные, но иногда - вполне адекватные. Имхо.
В данном конкретном случае всё же настаиваю на том, что это странно.
Юзер подключается, передаёт свой пароль и отправляет письмо самому
себе -- да в таком случае прямо руками должно быть сделано исключение
"никогда не реджектить такое". (Если же это происходит из-за
ворованного пароля -- то нужно бороться с воровством паролей, а не с
последствиями этого.)

George L. Yermulnik

unread,
Jul 7, 2022, 10:47:16 AM7/7/22
to fre...@uafug.org.ua
Hello!

On Thu, 07 Jul 2022 at 17:23:04 (+0300), Anton Saietskii wrote:

> > > Конечно же, никаких SPF, DKIM и DMARC я для [freebsdvm.]localdomain
> > > настаивать не буду.

> > Я не помню, настаивают ли стандарты и RFC, чтобы return-path был не
> > фейковым, но почему просто не подставить адрес получателя в envelope-from.
> Тогда будет "envelope-from: vsas...@gmail.com; From: root" --
> проверить, конечно, можно, но заранее вангую, что станет только хуже.

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

> > > :-D А вообще странно -- я-то письмо отправляю _на
> > > свой ящик,_ _аутентифицировавшись_ под ним же.

> > Ничего странного. Это их система и это они устанавливают правила. Иногда
> > странные, но иногда - вполне адекватные. Имхо.
> В данном конкретном случае всё же настаиваю на том, что это странно.

Напиши им гневный отзыв куда-то =)))))

Anton Saietskii

unread,
Jul 7, 2022, 10:56:10 AM7/7/22
to Рассылка FreeBSD UA
On Thu, Jul 7, 2022 at 5:47 PM George L. Yermulnik <y...@yz.kiev.ua> wrote:
>
> Hello!
>
> On Thu, 07 Jul 2022 at 17:23:04 (+0300), Anton Saietskii wrote:
>
> > > > Конечно же, никаких SPF, DKIM и DMARC я для [freebsdvm.]localdomain
> > > > настаивать не буду.
>
> > > Я не помню, настаивают ли стандарты и RFC, чтобы return-path был не
> > > фейковым, но почему просто не подставить адрес получателя в envelope-from.
> > Тогда будет "envelope-from: vsas...@gmail.com; From: root" --
> > проверить, конечно, можно, но заранее вангую, что станет только хуже.
>
> Вероятно, у тебя были какие-то серьёзные аргументы в пользу выбора
> утилиты, используемой для формирования и отправки email, но которая не
> может удовлетворить все необходимые поинты.
Включение dma в базовую систему, очевидно же.

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

> > > > :-D А вообще странно -- я-то письмо отправляю _на
> > > > свой ящик,_ _аутентифицировавшись_ под ним же.
>
> > > Ничего странного. Это их система и это они устанавливают правила. Иногда
> > > странные, но иногда - вполне адекватные. Имхо.
> > В данном конкретном случае всё же настаиваю на том, что это странно.
>
> Напиши им гневный отзыв куда-то =)))))
Ну зачем же выдёргивать слова из контекста, вырезая аргументацию? Там
же была важная деталь -- я не рандомно плюю письмами с непонятного
адреса, а по сути делаю то же, что делает любой пользователь
Thunderbird (ну, кроме того, что они обычно письма не сами себе, а
другим шлют; однако механизм тот же).
А я что-то не помню, чтобы каждого домашнего пользователя заставляли
покупать домен и всякие email-auth штуки вписывать. ;-)

George L. Yermulnik

unread,
Jul 7, 2022, 11:53:04 AM7/7/22
to fre...@uafug.org.ua
Hello!

On Thu, 07 Jul 2022 at 17:55:45 (+0300), Anton Saietskii wrote:

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

А-а-а, так "ты его просто готовить не умеешь" =)))
[--- 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 входит в том числе формирование всех нужных и ненужных
заголовков правильно.

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

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

> > > > > :-D А вообще странно -- я-то письмо отправляю _на
> > > > > свой ящик,_ _аутентифицировавшись_ под ним же.

> > > > Ничего странного. Это их система и это они устанавливают правила. Иногда
> > > > странные, но иногда - вполне адекватные. Имхо.
> > > В данном конкретном случае всё же настаиваю на том, что это странно.

> > Напиши им гневный отзыв куда-то =)))))
> Ну зачем же выдёргивать слова из контекста, вырезая аргументацию? Там

Не было там аргументации как по мне. Ты пользуешься чьим-то сервисом.


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

> же была важная деталь -- я не рандомно плюю письмами с непонятного


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

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

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

Зачем же обобщать и переиначивать? Гугл не заставляет тебя делать такое.
Гугл тебя заставляет подчиняться их правилам при использование их сервиса.
Ты с лёгкостью можешь обойти это ограничение, но тебе лень, как ты выше
написал =)

Taras Heichenko

unread,
Jul 7, 2022, 12:39:52 PM7/7/22
to George L. Yermulnik, fre...@uafug.org.ua

> On 7 Jul 2022, at 17:47, George L. Yermulnik <y...@yz.kiev.ua> wrote:
>
>
> Напиши им гневный отзыв куда-то =)))))

Вот сейчас было больно.

>
> --
> George L. Yermulnik
> [YZ-RIPE]
> _______________________________________________
> freebsd mailing list
> fre...@uafug.org.ua
> http://mailman.uafug.org.ua/mailman/listinfo/freebsd

--
Taras Heichenko
ta...@academ.kiev.ua

Anton Saietskii

unread,
Jul 7, 2022, 12:53:49 PM7/7/22
to Рассылка FreeBSD UA
2 netch@: благодарю за long awaited reply-to в рассылке. :-)

On Thu, Jul 7, 2022, 18:53 George L. Yermulnik <y...@yz.kiev.ua> wrote:
Hello!

On Thu, 07 Jul 2022 at 17:55:45 (+0300), Anton Saietskii wrote:

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

А-а-а, так "ты его просто готовить не умеешь" =)))
Почему же? Умею, письма в целом доставляются, о чём я уже писал ранее.

[--- 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, как и любой другой мой скрипт (и твой тоже).
Сперва я полагался на то, что эти задачи выполнит anacron, как заявлено у него в описании. Он не справился и я завернул скрипт в periodic(8) и всё заработало, о чём также писал ранее. Внимательнее, пожалуйста.

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

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

> > > > > :-D А вообще странно -- я-то письмо отправляю _на
> > > > > свой ящик,_ _аутентифицировавшись_ под ним же.

> > > > Ничего странного. Это их система и это они устанавливают правила. Иногда
> > > > странные, но иногда - вполне адекватные. Имхо.
> > > В данном конкретном случае всё же настаиваю на том, что это странно.

> > Напиши им гневный отзыв куда-то =)))))
> Ну зачем же выдёргивать слова из контекста, вырезая аргументацию? Там

Не было там аргументации как по мне. Ты пользуешься чьим-то сервисом.
Было или нет - не повод манипулировать и удалять части чужих сообщений.

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

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

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

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

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

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

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

Anton Saietskii

unread,
Jul 7, 2022, 12:59:20 PM7/7/22
to Рассылка FreeBSD UA
On Thu, Jul 7, 2022, 19:53 Anton Saietskii <vsas...@gmail.com> wrote:
2 netch@: благодарю за long awaited reply-to в рассылке. :-)
А нет, в другой раз не сработало... Наверное, гмыло само в некоторых случаях определяет...

George L. Yermulnik

unread,
Jul 7, 2022, 2:20:37 PM7/7/22
to fre...@uafug.org.ua
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:" при изначальных условиях не
решит.

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

"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.

Reply all
Reply to author
Forward
0 new messages