src.dualinventive.com/devops/tools/mailer/mailer.go

52 lines
1.1 KiB
Go

package main
import (
"os"
"flag"
"io/ioutil"
"gopkg.in/gomail.v2"
)
var from *string
var to *string
var subject *string
var server *string
var port *int
var username *string
var password *string
var attachment *string
func init() {
from = flag.String("from", "", "From email address")
to = flag.String("to", "", "To email address")
subject = flag.String("subject", "", "To email subject")
server = flag.String("server", "smtp.ziggozakelijk.nl", "The SMTP server host")
port = flag.Int("port", 25, "The SMTP server port")
username = flag.String("username", "", "The SMTP username")
password = flag.String("password", "", "The SMTP password")
attachment = flag.String("attachment", "", "File attachment")
flag.Parse()
}
func main() {
m := gomail.NewMessage()
m.SetHeader("From", *from)
m.SetHeader("To", *to)
m.SetHeader("Subject", *subject)
msg, _ := ioutil.ReadAll(os.Stdin)
m.SetBody("text/plain", string(msg))
if *attachment != "" {
m.Attach(*attachment)
}
d := gomail.NewPlainDialer(*server, *port, *username, *password)
if err := d.DialAndSend(m); err != nil {
panic(err)
}
}