Postfix
Postfix From: cron 作業的地址是否符合 RFC?
我有一個配置為通過本地網路郵件中繼發送 Postfix 的 Ubuntu 18.04 伺服器。
只有在生成消息時,
cron
它才會在From:
標頭中包含以下內容:From: root@relayclient.example.com (Cron Daemon)
來自伺服器的所有其他消息都符合預期:
From: root@relayclient.example.com
這導致中繼 DKIM 簽名出現問題,並且似乎不符合 RFC 5322。我對3.4和附錄 A.5的閱讀是,地址很可能應該是:
From: <root@relayclient.example.com> (Cron Daemon)
但是,我可能誤解了 RFC 並且還有其他一些問題。
這是目前配置,它幾乎只是
postfix
包創建的預設“衛星”配置:
postconf -n
:alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no compatibility_level = 2 inet_interfaces = loopback-only inet_protocols = ipv4 mailbox_size_limit = 0 mydestination = $myhostname, relayclient.example.com, localhost.example.com, localhost myhostname = relayclient.example.com mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 myorigin = /etc/mailname readme_directory = no recipient_delimiter = + relayhost = 192.0.2.85 smtp_tls_security_level = may smtp_tls_session_cache_database = btree:${data_directory}/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:${data_directory}/smtpd_scache smtpd_use_tls = yes
cat /etc/aliases
:# See man 5 aliases for format postmaster: root root: admin@example.net
cat /etc/mailname
:relayclient.example.com
請注意,規範還包括註釋:
括號中的字元串被視為註釋,只要它們不出現在“引用字元串”中,如第 3.2.4 節中定義的那樣。評論可能嵌套。
本規範中有幾個地方可以自由插入註釋和 FWS。為了適應這種語法,為可能出現註釋和/或 FWS 的地方定義了一個附加的“CFWS”標記。
EBNF(我省略了不相關的標記):
address = mailbox / group mailbox = name-addr / addr-spec name-addr = [display-name] angle-addr angle-addr = [CFWS] "<" addr-spec ">" [CFWS] / obs-angle-addr display-name = phrase FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ctext = %d33-39 / ; Printable US-ASCII %d42-91 / ; characters not including %d93-126 / ; "(", ")", or "\" obs-ctext ccontent = ctext / quoted-pair / comment comment = "(" *([FWS] ccontent) [FWS] ")" CFWS = (1*([FWS] comment) [FWS]) / FWS
通知
comment
標記包括文字括號,CFWS 可以是此註釋(周圍有空格)或空格本身。括號中的這部分出現在angle-addr
標記的末尾,允許註釋。所以這(Cron Daemon)
是一個CFWS
“*註釋或折疊空白”*標記,因此拼寫的地址完全符合規範。還有一個關於裸的特別
addr-spec
說明comment
:注意:一些遺留實現使用了簡單的形式,其中 addr-spec 出現時不帶尖括號,但在 addr-spec 後面的括號中包含收件人的名稱作為註釋。由於未指定評論中資訊的含義,因此實現應該使用郵箱的全名地址形式,而不是舊形式,來指定與郵箱關聯的顯示名稱。此外,由於某些遺留實現解釋了註釋,因此通常不應在地址欄位中使用註釋以避免混淆此類實現。