Рейтинг:0

Является ли адрес Postfix From: RFC-совместимым для заданий cron?

флаг cn

У меня есть сервер Ubuntu 18.04 с Postfix, настроенным для отправки через ретранслятор почты в локальной сети.

Только когда сообщение генерируется хрон включает ли он следующее в От: заголовок:

От: [email protected] (Cron Daemon)

Все остальные сообщения с сервера соответствуют ожиданиям:

От кого: [email protected]

Это вызывает проблему для подписи DKIM ретранслятора и кажется несовместимым с RFC 5322. Мое прочтение 3.4 и Приложение А.5 заключается в том, что адрес, скорее всего, должен быть:

От: <[email protected]> (Cron Daemon)

Однако я могу неправильно понимать RFC, и есть еще одна проблема.

Вот текущая конфигурация, которая в значительной степени представляет собой «спутниковую» конфигурацию по умолчанию, созданную постфикс упаковка:

постконф -н:

alias_database = хэш:/и т.д./псевдонимы
alias_maps = хеш:/и т.д./псевдонимы
append_dot_mydomain = нет
биф = нет
уровень_совместимости = 2
inet_interfaces = только для обратной связи
inet_protocols = ipv4
почтовый ящик_размер_лимит = 0
mydestination = $myhostname, relayclient.example.com, localhost.example.com, localhost
myhostname = relayclient.example.com
мои сети = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = нет
получатель_разделитель = +
ретранслятор = 192.0.2.85
smtp_tls_security_level = может
smtp_tls_session_cache_database = btree:${каталог_данных}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_relay_restrictions = Permit_MyNetworks Permit_Sasl_Authenticated defer_unauth_destination
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${каталог_данных}/smtpd_scache
smtpd_use_tls = да

кот /etc/псевдонимы:

# См. псевдонимы man 5 для формата
почтмейстер: корень
корень: [email protected]

кот /etc/имя_почты:

relayclient.example.com
флаг jp
Почему вы думаете, что это «не соответствует RFC»?
Paul avatar
флаг cn
Насколько я понимаю [RFC 5322] (https://www.rfc-editor.org/rfc/rfc5322.html#section-3.4), это должен быть `Cron Daemon , но также может быть `` или `[email protected]`.
флаг jp
Пример комментариев см. в приложении RFC 5322.
Paul avatar
флаг cn
Я только что просмотрел приложение, и кажется, что все примеры соответствуют моему нынешнему пониманию. Я как-то пропустил тот, о котором вы думаете?
Paul avatar
флаг cn
@AlexD Хорошо, поэтому [A.5] (https://www.rfc-editor.org/rfc/rfc5322.html#appendix-A.5) действительно дает такие примеры, как: «Джон (мой дорогой друг); (конец группы)`, но даже в этом примере адрес находится внутри``, а адрес в почте, сгенерированной из заданий cron, – нет.
Nikita Kipriyanov avatar
флаг za
(...) является частью спецификации "CFWS". См. [3.2.2. Складывание пробелов и комментариев] (https://www.rfc-editor.org/rfc/rfc5322.html#section-3.2.2)
Рейтинг:1
флаг za

Обратите внимание, что спецификация также включает Комментарии:

Строки символов, заключенные в круглые скобки, считаются комментариями. до тех пор, пока они не появляются в «строке в кавычках», как определено в раздел 3.2.4. Комментарии могут вкладываться.

В этой спецификации есть несколько мест, где комментарии и FWS можно свободно вставлять. Чтобы приспособить этот синтаксис, дополнительный токен для "CFWS" определен для мест, где комментарии и/или FWS могут происходить.

EBNF (я пропустил нерелевантные токены):

адрес = почтовый ящик/группа
почтовый ящик = имя-адрес / адрес-спецификация
имя-адрес = [отображаемое имя] угол-адрес
угол-адрес = [CFWS] "<" адрес-спецификация ">" [CFWS] / obs-угол-адрес
отображаемое имя = фраза

FWS = ([*WSP CRLF] 1*WSP) / obs-FWS
ctext = %d33-39 / ; Версия для печати US-ASCII
                    %d42-91 / ; символы, не включая
                    %d93-126 / ; "(", ")", или же "\"
                    obs-текст
ccontent = ctext/пара в кавычках/комментарий
комментарий = "(" *([FWS] ccontent) [FWS] ")"
CFWS = (1*([FWS] комментарий) [FWS]) / FWS

Уведомление комментарий токен включает в себя буквальные скобки, и CFWS может быть этим комментарием (с пробелом вокруг) или самим пробелом. Эта часть паретезы появляется в самом конце угол-адрес токен, где разрешен комментарий. Так это (Крон Демон) это CFWS, "комментарий или складывание пробела" жетон, и поэтому указанный адрес полностью соответствует спецификации.

Также есть особое примечание о голых адрес-спецификация с комментарий:

Примечание. В некоторых устаревших реализациях использовалась простая форма, в которой addr-spec появляется без угловых скобок, но включает имя получателя в скобках в качестве комментария после адрес спец. Поскольку смысл информации в комментарии не указан, реализациям СЛЕДУЕТ использовать полную форму имя-адрес почтовый ящик, вместо устаревшей формы, чтобы указать отображение имя, связанное с почтовым ящиком. Кроме того, поскольку некоторое наследие реализации интерпретируют комментарий, комментарии обычно ДОЛЖНЫ НЕ использовать в адресных полях во избежание путаницы реализации.

Paul avatar
флаг cn
Чувак, мне здесь кое-чего действительно не хватает, потому что, когда я читаю это, я вижу `[CFWS] "" [CFWS]/obs-angle-addr`, а сообщения от заданий cron больше похожи на `addr-spec[ CFWS]`, что мне не кажется одинаковым.
флаг jp
Настоящий ответ содержится в примечании об устаревшей форме адреса в разделе 3.4 RFC 5322.
Nikita Kipriyanov avatar
флаг za
Истинный. Я неправильно понял вопрос. Однако именно эта заметка отвечает на вопрос.
Paul avatar
флаг cn
Когда он указывает «... имя получателя в скобках», это `(Cron Daemon)` получатель? Похоже, что демон генерирует сообщение.
Nikita Kipriyanov avatar
флаг za
И далее: "...значение информации в комментарии не указано...". Я думаю, что это была просто плохая формулировка, чтобы назвать это в скобках «имя получателя», что непреднамеренно добавило смысла.
Paul avatar
флаг cn
Действительно, кажется, что это плохо сформулировано. При повторном прочтении я думаю, что это означает «некоторые устаревшие реализации [один пример устаревшего использования] ...».
флаг jp
@Paul использование формата `[email protected] (Person Name)` было обычным явлением (`mutt` или `mail` все еще понимают это), но синтаксически содержимое в скобках является просто комментарием и его использование как 'отображаемое имя ' отправителя или получателя не был указан в стандарте.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.