Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ce72260b0b
|
||
|
|
af6f5ab9e6
|
@@ -1,6 +1,6 @@
|
||||
# einherjar/smtp
|
||||
|
||||
[](https://code.nochebuena.dev/einherjar/smtp)
|
||||
[](https://code.nochebuena.dev/einherjar/smtp)
|
||||
[](LICENSE)
|
||||
[](https://go.dev)
|
||||
[]()
|
||||
@@ -19,8 +19,9 @@
|
||||
import "code.nochebuena.dev/einherjar/smtp"
|
||||
|
||||
mailer := smtp.New(logger, smtp.DefaultConfig())
|
||||
launcher.Append(mailer) // OnInit verifies credentials; OnStop is a no-op
|
||||
health.Register(mailer) // dial check; LevelDegraded
|
||||
lc.Append(mailer) // OnInit verifies credentials; OnStop is a no-op
|
||||
// mailer is observability.Checkable (dial check, LevelDegraded):
|
||||
srv.Get("/health", health.NewHandler(logger, mailer).ServeHTTP)
|
||||
```
|
||||
|
||||
When `cfg.Host` is empty, `New` returns a no-op that logs every `Send` call at debug level and always returns nil. No code changes are needed between environments.
|
||||
|
||||
@@ -12,8 +12,12 @@
|
||||
// # Lifecycle Registration
|
||||
//
|
||||
// client := smtp.New(logger, cfg)
|
||||
// launcher.Register(client)
|
||||
// health.Register(client)
|
||||
// lc.Append(client) // lifecycle: OnInit → OnStop
|
||||
//
|
||||
// client satisfies [observability.Checkable], so it can back a health endpoint via
|
||||
// web/health.NewHandler:
|
||||
//
|
||||
// srv.Get("/health", health.NewHandler(logger, client).ServeHTTP)
|
||||
//
|
||||
// # Sending
|
||||
//
|
||||
|
||||
@@ -3,6 +3,6 @@ module code.nochebuena.dev/einherjar/smtp
|
||||
go 1.26
|
||||
|
||||
require (
|
||||
code.nochebuena.dev/einherjar/contracts v1.1.0
|
||||
code.nochebuena.dev/einherjar/core v1.1.0
|
||||
code.nochebuena.dev/einherjar/contracts v1.1.1
|
||||
code.nochebuena.dev/einherjar/core v1.1.1
|
||||
)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
code.nochebuena.dev/einherjar/contracts v1.1.0 h1:GsGr6reyrd9qCc7D8CqbT1LWPTeeK9lT4r4EdsNA5Ro=
|
||||
code.nochebuena.dev/einherjar/contracts v1.1.0/go.mod h1:ccltUtrFb5+MEJdkx2VVEUL+xC5pupVlVVsMM8AlCWI=
|
||||
code.nochebuena.dev/einherjar/core v1.1.0 h1:zxj9bFPthEEFRnvWV/vgNZqWa2y/kAo3p5pODWablyk=
|
||||
code.nochebuena.dev/einherjar/core v1.1.0/go.mod h1:Ot2JbjsnZ33Ed5C9Ev1kSn2PW+F4dLz/LRwIUh+fYt0=
|
||||
code.nochebuena.dev/einherjar/contracts v1.1.1 h1:MRQUR8Q1D4wIOUIz11vpAdsapWqFTMwr0/VRvWbGO3s=
|
||||
code.nochebuena.dev/einherjar/contracts v1.1.1/go.mod h1:ccltUtrFb5+MEJdkx2VVEUL+xC5pupVlVVsMM8AlCWI=
|
||||
code.nochebuena.dev/einherjar/core v1.1.1 h1:W6V/Peh1ffWjqZnBuBQLn4UGM+bgvWt9MQuktTEfDFw=
|
||||
code.nochebuena.dev/einherjar/core v1.1.1/go.mod h1:ninuZlnO178zC4rOdt5vjGojnlOpygP8cDorrecAeTY=
|
||||
|
||||
Reference in New Issue
Block a user