我正在使用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
}

as Answered on here

问题是Exim用-t删除了密件抄送



found in Spec here

最佳答案

带有-t的“发送邮件相似”模式在处理了之后,删除了Bcc: header
-t模式下,Bcc: header 的内容将附加到(SMTP)收件人列表收件人将看不到/接收Bcc: header 。

样式指南建议:如果,您在“sendmail相似”(命令行可比性模式)下使用另一个SMTP/MTA软件(例如Exim)(命令行比较模式) THEN 使用它们提供的sendmail程序/二进制文件。const sendmail = "/usr/sbin/sendmail"

关于go - 如何通过 `exim -t`发送密件抄送电子邮件? [“sendmail look alike”模式],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49962086/

10-12 23:48