52 lines
1.1 KiB
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)
|
|
}
|
|
}
|