Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- // this is a golang script for zabbix email alert
- // usage:
- // 1 go build sendmail.go
- // 2 ./sendmail email_address subject content
- // author: wong
- import (
- "encoding/base64"
- "fmt"
- "net/mail"
- "net/smtp"
- "os"
- )
- func sendmail(to_list, subject, content string) error {
- smtpServer := "smtp.xxx.com"
- smtpPort := "25"
- user := "xxx@xxx.com"
- pass := "xxx"
- auth := smtp.PlainAuth("", user, pass, smtpServer)
- from := mail.Address{"alert", user}
- header := make(map[string]string)
- header["From"] = from.String()
- header["To"] = to_list
- header["Subject"] = subject
- header["MIME-Version"] = "1.0"
- header["Content-Type"] = "text/plain;charset=\"utf-8\""
- header["Content-Transfer-Encoding"] = "base64"
- message := ""
- for k, v := range header {
- message += fmt.Sprintf("%s:%s\r\n", k, v)
- }
- message += "\r\n" + base64.StdEncoding.EncodeToString([]byte(content))
- err := smtp.SendMail(smtpServer+":"+smtpPort, auth, user, []string{to_list}, []byte(message))
- return err
- }
- func main() {
- err := sendmail(os.Args[1], os.Args[2], os.Args[3])
- if err != nil {
- fmt.Println(err)
- } else {
- fmt.Println("Send mail success!")
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement