Skip to content

Releases: emersion/go-smtp

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

0.16.0

03 Jan 11:23
v0.16.0
Compare
Choose a tag to compare
go-smtp v0.16.0

Aleksei Zhukov (1):
      Improved error handling in Server.Serve

Edd Salkield (1):
      Fix typo in lengthlimit_reader.go

Gusted (1):
      client: add a default timeout to Dial

John Li (1):
      DATA RACE in s.Close() (#150)

Konstantinos Koukas (1):
      server: handle closed connection error

Max Mazurov (1):
      Fix server example in README to use *smtp.MailOptions

Peter Sanchez (1):
      Adding low level SendMail function to Client.

Simon Ser (12):
      Add GitHub issue template
      ci: remove codecov
      Make TLS mandatory for SendMail
      github: switch to Libera Chat
      github: redirect to webchat for questions
      server: stop logging TLS handshake errors in ErrorLog
      readme: make it clearer Client.SendMail doesn't use TLS
      client: fix typo in docs
      go fmt
      client: return inner Close() error in dataCloser
      client: ensure dataCloser is only closed twice
      go fmt

fox.cpp (7):
      client: Add read timeout for initial greeting
      server: Remove authentication-related session creation
      server: Allow authentication only once
      server: Add missing return to handleStartTLS
      Fix MAIL after STARTTLS causing panic
      server: Mention data reader life time in Backend documentation
      server: Expose smtp.Conn to backends

kayrus (3):
      Change smtp.MailOptions to a pointer
      Handle tls.Conn handshake timeout
      Remove hostname argument from the NewSession method

0.15.0

24 Mar 11:16
v0.15.0
f92bf7f
Compare
Choose a tag to compare
go-smtp v0.15.0

Anatoliy Shipticyn (1):
      Disable lineLimitReader when handle BDAT data

Simon Ser (7):
      Add docs for Session, LMTPSession and StatusCollector
      Document that Client.StartTLS can take a nil config
      Fix lineLimitReader unused after Client.StartTLS
      Add Client.DebugWriter
      Document that SendMail is only for very simple use-cases
      cmd/smtp-debug-server: fix -l ignored
      readme: switch GoDoc links to godocs.io

Zhang Huangbin (1):
      Use same smtp reply messages as Postfix: - `Speak up` -> `Error: bad syntax` - `Goodnight and good luck` -> `Bye`

fox.cpp (1):
      Fix lineLimitReader.Read receiver type and add test for the limit

Шипицын Анатолий (1):
      Add SIZE extension when MaxMessageBytes not set

0.14.0

13 Sep 20:01
v0.14.0
Compare
Choose a tag to compare
0.14.0 Pre-release
Pre-release
go-smtp v0.14.0

This release adds server support for the BINARYMIME and CHUNKING extensions
for more efficient message submission. Additionally, connections with too
many client errors will now be closed.

The client now has timeouts (with reasonable defaults) and allows users
to retrieve per-recipient status for LMTP sessions.

This release also contains a set of bug fixes.

Max Mazurov (1):
      Add Client.LMTPData method with ability to retrieve per-recipient status

Nathan Smith (1):
      server: Improved error handling (#116)

Simon Ser (9):
      readme: update CI badge to only show status for commits
      Fix RFC list formatting in docs
      Reference RFC 8689 instead of draft-ietf-uta-smtp-require-tls-09
      client: remove mention of net/smtp
      server: return listener errors in Server.Close
      server: prevent panic on double-close
      server: improve Server.Close docs
      Remove executable mode from README.md and server.go
      cmd/smtp-debug-server: new utility

fox.cpp (12):
      Consume message body properly on size limit hit
      server: Log TLS handshake errors
      server: Implement CHUNKING extension (BDAT command)
      server: Add BINARYMIME support
      server: Prohibit invalid commands during BDAT message transfer
      Linting, style changes
      Fix parsing of enhanced codes in multiline responses
      Replace net/textproto DotReader with custom implementation to avoid CRLF->LF rewrite
      server: Fix \r\n\r\n being mangled into \r\n\n in message body
      server: Remove unnecessary stateCR transition from dataReader.Read
      server: Add a test to verify that <LF>.<LF> is not recognized as a message end
      client: Implement command timeouts

proletarius101 (1):
      fix: int64 converted to string with unclear type

0.13.0

09 May 20:54
v0.13.0
689d1d4
Compare
Choose a tag to compare
0.13.0 Pre-release
Pre-release
go-smtp v0.13.0

Simon Ser (2):
      readme: explain differences with net/smtp
      Update dependencies

Tomochika Hara (1):
      Fix sample code in README

fox.cpp (5):
      server: Close the session on STARTTLS
      server: Protect s.listeners with mutex
      server: Return 501 on SASL negotiation cancel
      Properly handle AUTH= parameter for MAIL command
      Fix-up 153661b71d5956132ca1efb95f924f0d53a1b157

0.12.1

07 Dec 11:34
v0.12.1
2bb99f0
Compare
Choose a tag to compare
0.12.1 Pre-release
Pre-release
go-smtp v0.12.1

Simon Ser (1):
      Updated dependencies

fox.cpp (10):
      Add a note about errors to Client.Quit doc
      client: Remove Quit calls from Auth
      server: Fix Close to not deadlock and close all listeners
      Fix MAIL FROM arguments parsing to handle arguments without values
      server: Rewrite MAIL FROM arguments handling
      server: Add missing BODY argument case
      server: Return after sending an error on EHLO in the LMTP mode
      server: Wait for LMTPData to complete before continuing
      server: Handle panics in the LMTPData goroutine
      client: Restrict the line length for responses

0.12.0

20 Nov 22:30
v0.12.0
Compare
Choose a tag to compare
0.12.0 Pre-release
Pre-release
go-smtp v0.12.0

Matthias Schneider (2):
      do not abort mailfrom if FROM is <> (for example NDR)
      fixed "use of closed network connection"

Simon Ser (1):
      readme: drop stability badge

fox.cpp (14):
      Add LocalAddr to the ConnectionState struct
      server: Restrict line length to 2000 bytes
      client: Return SMTPError for server errors
      Add Temporary method to SMTPError
      server: Reject AUTH PLAIN on plain-text connections
      server: Don't call Session.Logout twice on QUIT command
      server: Extend Backend interface with MailOptions argument
      server: Allow enabling SMTPUTF8 extension
      client: Allow specifying additional MAIL arguments
      Allow enabling REQUIRETLS extension
      client: Change Mail to accept optional MailOptions
      server: Implement per-recipient status for LMTP
      server: Add missing Conn.reset call
      server: Simplify statusCollector data structure

0.11.2

19 Jul 16:44
v0.11.2
d3b0ad3
Compare
Choose a tag to compare
0.11.2 Pre-release
Pre-release
go-smtp v0.11.2

Marc Hörsken (1):
      Reintroduce updated backendutil.TransformBackend after 1a1363a (#47)

Simon Ser (5):
      Fix panic when whitespace is provided to AUTH
      Switch to sr.ht for CI
      Populate tls.Config.ServerName if empty in StartTLS
      readme: drop go report card badge
      Update dependencies

Tom Harris (1):
      Fix type in example

fox.cpp (4):
      server: Add ErrorLog
      server: Add command-level panic handler
      server: Test panic handler
      Add go.sum

0.11.1

18 May 16:28
v0.11.1
83256d2
Compare
Choose a tag to compare
0.11.1 Pre-release
Pre-release
go-smtp v0.11.1

Simon Ser (1):
      RSET doesn't logout the user

SteveT (1):
      Permit backend Auth method to return own error message

fox.cpp (1):
      Server-side support for enhanced status codes (#37)

0.11.0

03 Apr 16:33
v0.11.0
Compare
Choose a tag to compare
0.11.0 Pre-release
Pre-release
NamedKitten (1):

      Added Read and Write timeouts. (#33)

emersion (1):
      Update README server example, add server example in tests

fox.cpp (2):
      server: Immediately pass envelope information to the backend
      Update README.md