Skip to content

Tags

Tags give the ability to mark specific points in history as being important
This project is mirrored from https://github.com/emersion/go-smtp. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
  • v0.20.1
    go-smtp v0.20.1
    
    Mathias Lieber (1):
          Prevent <LF>.<CR><LF> SMTP smuggling attacks
    
  • v0.20.0
    6ecbad7e · client: drop Client.tls ·
    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
    
  • v0.19.0
    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
    
  • v0.18.1
    42a00481 · Fix broken encodeXtext() ·
    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
    
  • v0.18.0
    db55b9ce · Introduce RcptOptions ·
    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
    
  • v0.17.0
    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
    
  • v0.16.0
    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
    
  • v0.15.0
    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
    
  • v0.14.0
    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
    
  • v0.13.0
    689d1d4f · Update dependencies ·
    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
    
  • v0.12.1
    2bb99f0c · Updated dependencies ·
    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
    
  • v0.12.0
    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
    
  • v0.11.2
    d3b0ad34 · Update dependencies ·
    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
    
  • v0.11.1
    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)
    
  • v0.11.0
    93209ab8 · Update README.md ·
    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
    
  • v0.10.0
    Lutz Horn (2):
          added missing import of "io" in server example
          Make go vet happy with server example (#28)
    
    Nico Berlee (1):
          export SMTPError so it can be used in Send() to return custom smtp errors
    
    emersion (2):
          Remove Conn.IsTLS
          readme: update example with latest API
    
    fox.cpp (1):
          Pass connection information to backend
    
  • v0.9.0
    9d3c478e · Update client test keys ·