Advertisement
Guest User

Untitled

a guest
Jul 4th, 2016
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. package main
  2.  
  3. // this is a golang script for zabbix email alert
  4. // usage:
  5. // 1 go build sendmail.go
  6. // 2 ./sendmail email_address subject content
  7. // author: wong
  8.  
  9. import (
  10. "encoding/base64"
  11. "fmt"
  12. "net/mail"
  13. "net/smtp"
  14. "os"
  15. )
  16.  
  17. func sendmail(to_list, subject, content string) error {
  18. smtpServer := "smtp.xxx.com"
  19. smtpPort := "25"
  20. user := "xxx@xxx.com"
  21. pass := "xxx"
  22.  
  23. auth := smtp.PlainAuth("", user, pass, smtpServer)
  24. from := mail.Address{"alert", user}
  25.  
  26. header := make(map[string]string)
  27. header["From"] = from.String()
  28. header["To"] = to_list
  29. header["Subject"] = subject
  30. header["MIME-Version"] = "1.0"
  31. header["Content-Type"] = "text/plain;charset=\"utf-8\""
  32. header["Content-Transfer-Encoding"] = "base64"
  33.  
  34. message := ""
  35. for k, v := range header {
  36. message += fmt.Sprintf("%s:%s\r\n", k, v)
  37. }
  38. message += "\r\n" + base64.StdEncoding.EncodeToString([]byte(content))
  39. err := smtp.SendMail(smtpServer+":"+smtpPort, auth, user, []string{to_list}, []byte(message))
  40. return err
  41. }
  42.  
  43. func main() {
  44. err := sendmail(os.Args[1], os.Args[2], os.Args[3])
  45.  
  46. if err != nil {
  47. fmt.Println(err)
  48. } else {
  49. fmt.Println("Send mail success!")
  50. }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement