123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package mocks
- import (
- "fmt"
- "net/smtp"
- "time"
- )
- const (
- URL = "127.0.0.1:2500"
- )
- func lastWords(message string, err error) {
- fmt.Println(message, err.Error())
- return
- // panic(err)
- }
- // Sends a single SMTP message, for testing.
- func main() {
- for i := 0; i < 100; i++ {
- go sendMail(i)
- }
- time.Sleep(time.Minute / 10)
- }
- func sendMail(i int) {
- fmt.Printf("Sending %d mail\n", i)
- c, err := smtp.Dial(URL)
- if err != nil {
- lastWords("Dial ", err)
- }
- defer c.Close()
- from := "[email protected]"
- to := "[email protected]"
- if err = c.Mail(from); err != nil {
- lastWords("Mail ", err)
- }
- if err = c.Rcpt(to); err != nil {
- lastWords("Rcpt ", err)
- }
- wr, err := c.Data()
- if err != nil {
- lastWords("Data ", err)
- }
- defer wr.Close()
- msg := fmt.Sprint("Subject: something\n")
- msg += "From: " + from + "\n"
- msg += "To: " + to + "\n"
- msg += "\n\n"
- msg += "hello\n"
- _, err = fmt.Fprint(wr, msg)
- if err != nil {
- lastWords("Send ", err)
- }
- fmt.Printf("About to quit %d\n", i)
- err = c.Quit()
- if err != nil {
- lastWords("Quit ", err)
- }
- fmt.Printf("Finished sending %d mail\n", i)
- }
|