Sendmail 给多个没有抄送的用户

The*_*age 6 email sendmail

大家好,我想知道是否可以以一种可以在 To: 中串接多个电子邮件地址的方式使用 sendmail

From: sendmail
To: person01@gmail.com;person02@gmail.com
Subject: Did You Both Receive It?

I hope you did
Run Code Online (Sandbox Code Playgroud)

而不是使用

From: sendmail
To: person01@gmail.com
Cc: person02@gmail.com
Subject: Did You Both Receive It?

I hope you did
Run Code Online (Sandbox Code Playgroud)

Gil*_*il' 7

要将多个地址放在To:orCc:Bcc:行上,请用逗号(加上可选空格)分隔它们。有些邮件阅读器允许输入分号来分隔地址并显示由分号分隔的地址,但这不是标准语法。

From: sendmail
To: person01@gmail.com, person02@gmail.com
Subject: Did You Both Receive It?
Run Code Online (Sandbox Code Playgroud)

您可以在逗号之后将标题拆分为多行(以及地址中的其他一些地方,但这更棘手)。续行必须以至少一个空格或制表符开头。

From: sendmail
To: person01@gmail.com,
    person02@gmail.com
Subject: Did You Both Receive It?
Run Code Online (Sandbox Code Playgroud)


Joh*_*ith 5

您可以To:多次使用标题。我对此有点怀疑,但我只是在 SMTP 服务器上尝试了它,它接受了它。

所以,而不是发送...

From: sendmail
To: person01@gmail.com
Cc: person02@gmail.com
Subject: Did You Both Receive It?

I hope you did
Run Code Online (Sandbox Code Playgroud)

...你可以发送:

From: sendmail
To: person01@gmail.com
To: person02@gmail.com
Subject: Did You Both Receive It?

I hope you did
Run Code Online (Sandbox Code Playgroud)

在我的客户端 (Thunderbird) 中,收件人一起出现,如下所示:

To person01 <person01@gmail.com>, person02 <person02@gmail.com>
Run Code Online (Sandbox Code Playgroud)

并且源保持完整(To:s 没有在途中转换):

To: person01@gmail.com
To: person02@gmail.com
Run Code Online (Sandbox Code Playgroud)

现在,由于 SMTP 服务器允许我发送两条RCPT TO:消息,我假设sendmail也可以这样做。大概是这样的……

$ sendmail "person01@gmail.com,person02@gmail.com" <<EOF
To: person01@gmail.com
To: person02@gmail.com
...

Your message.
EOF
Run Code Online (Sandbox Code Playgroud)

  • 一些服务器允许多个 `To:` 标头,但请注意这不是标准行为:[RFC](https://tools.ietf.org/html/rfc5322) 指出 `To:` 和 `Cc:` 可以最多发生一次。我怀疑有些 MTA 会忽略除第一行或最后一行“To:”之外的所有内容。 (2认同)