我正在尝试使用 Go 将电子邮件消息通过管道发送到 sendmail 二进制文件。如果我没有取消对 Wait() 调用的注释,则以下代码有效。如果没有注释,程序就会挂起。阅读wait的文档,我觉得应该调用它,所以我得出结论,我的示例代码中存在错误。关于它可能是什么的任何建议?package mainimport ( "io" "os" "os/exec" "fmt")func main() { msg := "From: source@email.address\n" msg += "To: recipient@email.address\n" msg += "Subject: Testing\n\n" msg += "Hello World!\n" sendmail := exec.Command("/usr/sbin/sendmail", "-t") stdin, err := sendmail.StdinPipe() if err != nil { panic(err) } sendmail.Stdout = os.Stdout sendmail.Stderr = os.Stderr err = sendmail.Start() if err != nil { panic(err) } io.WriteString(stdin, msg) //err = sendmail.Wait() //if err != nil { // panic(err) //}}
- 2 回答
- 0 关注
- 211 浏览
添加回答
举报
0/150
提交
取消