package main import ( "io/ioutil" "os/exec" "fmt" ) // EXAMPLE: echo "Subject: TestnHello" | sendmail -f you@domain.com you@domain.com // Useful Links: https://gobyexample.com/spawning-processes func main() { fromEmail := "you@domain.com" toEmail := "you@domain.com" msg := "Subject: Sendmail Using Go" sendmail := exec.Command("/usr/sbin/sendmail", "-f", fromEmail, toEmail) stdin, err := sendmail.StdinPipe() if err != nil { panic(err) } stdout, err := sendmail.StdoutPipe() if err != nil { panic(err) } sendmail.Start() stdin.Write([]byte(msg)) stdin.Close() sentBytes, _ := ioutil.ReadAll(stdout) sendmail.Wait() fmt.Println("Send Command Output\n") fmt.Println(string(sentBytes)) }