我正在尝试使用 Go 将电子邮件消息通过管道发送到 sendmail 二进制文件。如果我没有取消对 Wait() 调用的注释,则以下代码有效。如果没有注释,程序就会挂起。阅读wait的文档,我觉得应该调用它,所以我得出结论,我的示例代码中存在错误。关于它可能是什么的任何建议?
package main
import (
"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)
//}
}
慕虎7371278
大话西游666
相关分类