Skip to content

Releases: emersion/go-smtp

0.21.2

07 May 15:44
v0.21.2
Compare
Choose a tag to compare
go-smtp v0.21.2

Mathias Lieber (1):
      Add remote addr in error handler log

Simon Ser (8):
      server: fix failingListener data race in tests
      server: fix TestServerAcceptErrorHandling data race
      ci: switch to alpine/latest
      ci: enable data race detector
      ci: add gofmt check
      client: fix server responses in TestClient_TooLongLine
      client: add Client.readResponse helper
      server: unify logic to decode SASL response

diogomr (1):
      Do not use HELLO as fallback of EHLO when server responds with 421

0.21.1

12 Apr 15:27
v0.21.1
Compare
Choose a tag to compare
go-smtp v0.21.1

Jason Friedland (1):
      Update example server auth for AuthSession interface in 0.21.0 update

Simon Ser (5):
      client: drop defaultTimeout constant
      Rename SendMail PLAIN auth example
      server: add Conn.writeError
      server: rename toSMTPStatus to dataErrorToStatus
      client: adjust TestClientAuthTrimSpace comments

albertony (1):
      Fix anonymous authentication with empty trace information string

0.21.0

28 Mar 15:51
v0.21.0
Compare
Choose a tag to compare
go-smtp v0.21.0

This release contains multiple breaking changes:

- Servers implementing Session.AuthPlain need to switch to AuthSession
- Server.AuthDisabled and Server.EnableAuth have been superseded by AuthSession
- Client.StartTLS has been superseded by DialStartTLS and NewClientStartTLS

IKEDA Soji (1):
      Server: The value of BODY parameter is case-insensitive

Simon Ser (18):
      Add DialStartTLS
      Unexport Client.StartTLS
      De-duplicate SendMail/SendMailTLS
      Fix tls.Config ignored in DialStartTLS
      Add NewClientStartTLS
      server: add LIMITS RCPTMAX support
      client: add Client.MaxMessageSize
      client: drop unnecessary nil check in Client.Extension
      client: drop unused Client.auth
      client: add Client.SupportsAuth
      server: send error response on invalid AUTH initial response
      server: drop Server.caps
      Add BackendFunc
      server: use Conn.authAllowed in handleAuth
      server: replace EnableAuth with AuthSession
      Disable AUTH when AuthSession.AuthMechanisms is empty
      Drop Session.AuthPlain
      Drop Server.AuthDisabled

0.20.2

25 Jan 09:01
v0.20.2
Compare
Choose a tag to compare
go-smtp v0.20.2

Simon Ser (1):
      server: use netcat -C instead of telnet for example testing

fox.cpp (2):
      Fix Conn.Hostname being empty when NewSession is called
      Parse DATA\r\n\r\n.\r\n as \r\n\r\n message

0.20.1

05 Jan 09:45
v0.20.1
Compare
Choose a tag to compare
go-smtp v0.20.1

Mathias Lieber (1):
      Prevent <LF>.<CR><LF> SMTP smuggling attacks

0.20.0

27 Dec 13:38
v0.20.0
Compare
Choose a tag to compare
go-smtp v0.20.0

Brian Mayer (1):
      Remove DotLF to EOFState case

Simon Ser (10):
      client: don't check for nil Client.ext in SendMail
      client: add newline after validation in SendMail
      client: drop nil check from toSMTPErr
      Prefix SMTPError message
      Add defaultDialer
      Add TLS warning in Dial
      Remove host argument from NewClient
      Add SMTP smuggling test
      client: delay greeting
      client: drop Client.tls

guangwu (1):
      Fix typos

0.19.0

09 Nov 10:16
v0.19.0
Compare
Choose a tag to compare
go-smtp v0.19.0

Breaking API changes:

- Client.Text has been removed.
- Client.SendMail no longer calls Client.Quit.
- The LMTPSession interface now embeds Session.

Full commit history below.

IKEDA Soji (3):
      server: implement DSN extension (RFC 3461, RFC 6533)
      client: implement DSN extension (RFC 3461, RFC 6533)
      Allow LMTP servers to listen with TCP

Romain LE JEUNE (1):
      server: remove 'blame it on the weather' error part

Simon Ser (10):
      Split server example into separate file
      Bind server example to localhost
      Add telnet example session in server example doc comment
      readme: drop examples
      readme: use Markdown references
      readme: AUTH and PIPELINING are just examples
      client: don't quit in Client.SendMail
      client: make Client.Text private
      server: fix panic on MAIL FROM after failed EHLO
      server: embed Session in LMTPSession

0.18.1

07 Sep 01:45
v0.18.1
Compare
Choose a tag to compare
go-smtp v0.18.1

IKEDA Soji (1):
      Fix broken encodeXtext()

Simon Ser (3):
      Drop outdated commented code from parseCmd
      readme: switch back to pkg.go.dev for docs
      readme: drop unencrypted client example

iRedMail (1):
      readme: fix sample server for v0.18.0

0.18.0

14 Aug 11:18
v0.18.0
Compare
Choose a tag to compare
go-smtp v0.18.0

This release contains the following breaking changes:

- Client.Rcpt and Session.Rcpt now take an additional *RctpOptions
  argument.
- MailOptions.Size is now an int64 instead of an int.
- Server.Strict has been dropped.
- Server.ForEachConn has been dropped.

Full commit history below.

Simon Ser (15):
      Don't capitalize error messages
      Introduce cutPrefixFold
      Drop Server.Strict
      Add a more robust parser for reverse paths
      Use more robust parser for forward paths
      Add parser tests
      Drop Server.ForEachConn
      Use list for supported extensions in doc comment
      Move validateLine to client.go
      Simplify parseArgs
      Check MAIL FROM AUTH parameter mailbox
      Use int64 for MailOptions.Size
      Reject negative MAIL FROM SIZE parameters
      Move MailOptions to smtp.go
      Introduce RcptOptions

bobobo1618 (1):
      Fix parsing of MAIL FROM AUTH argument

0.17.0

07 Jul 13:24
v0.17.0
b4236a6
Compare
Choose a tag to compare
go-smtp v0.17.0

No breaking changes in this release.

Graham (1):
      Add Server.Shutdown

IKEDA Soji (2):
      server: Correct status codes in several responses.
      server: Correct protocol name in greeting banner.

Matthew Phillips (1):
      readme: update server example to get errors from smtp

Simon Ser (2):
      Add ErrAuthFailed
      readme: check auth

d2ro (1):
      client: SendMailTLS