AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1090902
Accepted
Paul
Paul
Asked: 2022-01-24 12:27:45 +0800 CST2022-01-24 12:27:45 +0800 CST 2022-01-24 12:27:45 +0800 CST

Postfix From: cron 作业的地址是否符合 RFC?

  • 772

我有一个配置为通过本地网络邮件中继发送 Postfix 的 Ubuntu 18.04 服务器。

只有在生成消息时,cron它才会在From:标头中包含以下内容:

From: [email protected] (Cron Daemon)

来自服务器的所有其他消息都符合预期:

From: [email protected]

这导致中继 DKIM 签名出现问题,并且似乎不符合 RFC 5322。我对3.4和附录 A.5的阅读是,地址很可能应该是:

From: <[email protected]> (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:          [email protected]

cat /etc/mailname:

relayclient.example.com
postfix ubuntu-18.04
  • 1 1 个回答
  • 84 Views

1 个回答

  • Voted
  1. Best Answer
    Nikita Kipriyanov
    2022-01-25T06:42:17+08:002022-01-25T06:42:17+08:00

    请注意,规范还包括注释:

    括号中的字符串被视为注释,只要它们不出现在“引用字符串”中,如第 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 后面的括号中包含收件人的名称作为注释。由于未指定评论中信息的含义,因此实现应该使用邮箱的全名地址形式,而不是旧形式,来指定与邮箱关联的显示名称。此外,由于某些遗留实现解释了注释,因此通常不应在地址字段中使用注释以避免混淆此类实现。

    • 1

相关问题

  • Postfix 在特定端口上接受邮件

  • 让 Postfix 以两种方式处理垃圾邮件

  • Postfix 或 exim:自动/程序化和转发电子邮件设置

  • 后缀电子邮件地址

  • 什么是最好的开源电子邮件解决方案包

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve