如何通过 `exim -t` 发送密件抄送电子邮件? ["sendmail look alike"模式]
How to send bcc email via `exim -t`? ["sendmail look alike" mode]
我正在使用 golang 通过以下方法通过 exim 发送电子邮件
const sendmail = "/usr/sbin/exim"
func submitMail(m *gomail.Message) (err error) {
cmd := exec.Command(sendmail, "-t")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
pw, err := cmd.StdinPipe()
if err != nil {
return
}
err = cmd.Start()
if err != nil {
return
}
var errs [3]error
_, errs[0] = m.WriteTo(pw)
errs[1] = pw.Close()
errs[2] = cmd.Wait()
for _, err = range errs {
if err != nil {
return
}
}
return
}
问题是 Exim 使用 -t
删除了 Bcc
If Exim is called with the -t option, to take recipient addresses from
a message's headers, it removes any Bcc: header that may exist (after
extracting its addresses), unless the message has no To: or Cc:
header, in which case a Bcc: header with no addresses is left in the
message, in accordance with RFC 822. If -t is not present on the
command line, any existing Bcc: header is not removed.
If Exim is called to receive a message with the recipient addresses
given on the command line, and there is no Bcc:, To:, or Cc: header in
the message, it normally adds a To: header, listing the recipients.
Some mailing list software is known to submit messages in this way,
and in this case the creation of a To: header is not what is wanted.
If the always_bcc option is set, Exim adds an empty Bcc: header
instead in this circumstance.
"Sendmail look alike" 模式 -t
删除 Bcc:
headers 处理后 .
在 -t
模式下 Bcc:
headers 内容将附加到 (SMTP) 收件人列表 BUT 收件人不会 see/receive Bcc:
headers.
风格指南建议: 如果 你在"sendmail look alike" (命令行比较模式)THEN 使用他们提供的 sendmail program/binary。
const sendmail = "/usr/sbin/sendmail"
我正在使用 golang 通过以下方法通过 exim 发送电子邮件
const sendmail = "/usr/sbin/exim"
func submitMail(m *gomail.Message) (err error) {
cmd := exec.Command(sendmail, "-t")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
pw, err := cmd.StdinPipe()
if err != nil {
return
}
err = cmd.Start()
if err != nil {
return
}
var errs [3]error
_, errs[0] = m.WriteTo(pw)
errs[1] = pw.Close()
errs[2] = cmd.Wait()
for _, err = range errs {
if err != nil {
return
}
}
return
}
问题是 Exim 使用 -t
删除了 BccIf Exim is called with the -t option, to take recipient addresses from a message's headers, it removes any Bcc: header that may exist (after extracting its addresses), unless the message has no To: or Cc: header, in which case a Bcc: header with no addresses is left in the message, in accordance with RFC 822. If -t is not present on the command line, any existing Bcc: header is not removed.
If Exim is called to receive a message with the recipient addresses given on the command line, and there is no Bcc:, To:, or Cc: header in the message, it normally adds a To: header, listing the recipients. Some mailing list software is known to submit messages in this way, and in this case the creation of a To: header is not what is wanted. If the always_bcc option is set, Exim adds an empty Bcc: header instead in this circumstance.
"Sendmail look alike" 模式 -t
删除 Bcc:
headers 处理后 .
在 -t
模式下 Bcc:
headers 内容将附加到 (SMTP) 收件人列表 BUT 收件人不会 see/receive Bcc:
headers.
风格指南建议: 如果 你在"sendmail look alike" (命令行比较模式)THEN 使用他们提供的 sendmail program/binary。
const sendmail = "/usr/sbin/sendmail"