Tags: emersion/go-smtp
Tags
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
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
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
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
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
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
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 153661b
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
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