go-smtp icon indicating copy to clipboard operation
go-smtp copied to clipboard

📤 An SMTP client & server library written in Go

Results 49 go-smtp issues
Sort by recently updated
recently updated
newest added

I've been looking into this response a bit for something I'm working on. The current response when we have a recipient limit is ``` 552 5.5.3 Maximum limit of %v...

This is a braking change. Now `Data()` method will accept a callaback function and `LMTPData()` method callbacks will receive success statuses instead nil. Therefore dependent `LMTPData` code must check for...

Example server logs: ``` ... AUTH PLAIN *masked* 454 4.7.0 auth failed * -> produces 'Command too short: "*"' 501 5.5.2 Bad command QUIT 221 2.0.0 Bye ```` Expected behavior:...

server

This makes it so NewClient never blocks, much like tls.Client. This allows callers to have better control over timeouts.

breaking

I can return a custom `*SMTPError` object, but `handleMail` and `handleRcpt` methods won't set the `c.fromReceived` or add the recipient into the `c.recipients`. See below: https://github.com/emersion/go-smtp/blob/608f3c2840584931f2867716078c43485ea7ef3f/conn.go#L400-L410 https://github.com/emersion/go-smtp/blob/608f3c2840584931f2867716078c43485ea7ef3f/conn.go#L488-L497 I suggest the...

server

Usually remote SMTP servers return a successful 250 code with an informative message, e.g. `Queued %messageID%` Unfortunately current implementation doesn't allow to intercept this response, though it's required for message...

client

I'm implementing SMTP connections pool in my app (see #154) and I already faced two issues when a remote SMTP server closes an idle connection due to timeout: * impossible...

client

`InitConn()` method allows to set the client's connection after the `smtp.Client` variable initialization with custom timeouts. resolves #175