func (m *Mother) MailClient() *mail.Client { env := NewEnvironment() mailConfig := mail.Config{ User: env.SMTPUser, Pass: env.SMTPPass, Host: env.SMTPHost, Port: env.SMTPPort, Secret: env.SMTPCRAMMD5Secret, TestMode: env.TestMode, SkipVerifySSL: !env.VerifySSL, DisableTLS: !env.SMTPTLS, LoggingEnabled: env.SMTPLoggingEnabled, } switch env.SMTPAuthMechanism { case SMTPAuthNone: mailConfig.AuthMechanism = mail.AuthNone case SMTPAuthPlain: mailConfig.AuthMechanism = mail.AuthPlain case SMTPAuthCRAMMD5: mailConfig.AuthMechanism = mail.AuthCRAMMD5 } return mail.NewClient(mailConfig) }
mailServer = NewSMTPServer("user", "pass") config = mail.Config{ User: "******", Pass: "******", TestMode: false, SkipVerifySSL: true, DisableTLS: false, } config.Host, config.Port, err = net.SplitHostPort(mailServer.URL.String()) if err != nil { panic(err) } client = mail.NewClient(config) }) AfterEach(func() { mailServer.Close() }) Describe("NewClient", func() { It("defaults the ConnectTimeout to 15 seconds", func() { config.ConnectTimeout = 0 client = mail.NewClient(config) Expect(client.ConnectTimeout()).To(Equal(15 * time.Second)) }) })