client.go 1015 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package mocks
  2. import (
  3. "fmt"
  4. "net/smtp"
  5. )
  6. const (
  7. URL = "127.0.0.1:2500"
  8. )
  9. func lastWords(message string, err error) {
  10. fmt.Println(message, err.Error())
  11. return
  12. // panic(err)
  13. }
  14. func sendMail(i int) {
  15. fmt.Printf("Sending %d mail\n", i)
  16. c, err := smtp.Dial(URL)
  17. if err != nil {
  18. lastWords("Dial ", err)
  19. }
  20. defer func() {
  21. _ = c.Close()
  22. }()
  23. from := "[email protected]"
  24. to := "[email protected]"
  25. if err = c.Mail(from); err != nil {
  26. lastWords("Mail ", err)
  27. }
  28. if err = c.Rcpt(to); err != nil {
  29. lastWords("Rcpt ", err)
  30. }
  31. wr, err := c.Data()
  32. if err != nil {
  33. lastWords("Data ", err)
  34. }
  35. defer func() {
  36. _ = wr.Close()
  37. }()
  38. msg := fmt.Sprint("Subject: something\n")
  39. msg += "From: " + from + "\n"
  40. msg += "To: " + to + "\n"
  41. msg += "\n\n"
  42. msg += "hello\n"
  43. _, err = fmt.Fprint(wr, msg)
  44. if err != nil {
  45. lastWords("Send ", err)
  46. }
  47. fmt.Printf("About to quit %d\n", i)
  48. err = c.Quit()
  49. if err != nil {
  50. lastWords("Quit ", err)
  51. }
  52. fmt.Printf("Finished sending %d mail\n", i)
  53. }