Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ce72260b0b
|
||
|
|
af6f5ab9e6
|
@@ -1,6 +1,6 @@
|
|||||||
# einherjar/smtp
|
# einherjar/smtp
|
||||||
|
|
||||||
[](https://code.nochebuena.dev/einherjar/smtp)
|
[](https://code.nochebuena.dev/einherjar/smtp)
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
[](https://go.dev)
|
[](https://go.dev)
|
||||||
[]()
|
[]()
|
||||||
@@ -19,8 +19,9 @@
|
|||||||
import "code.nochebuena.dev/einherjar/smtp"
|
import "code.nochebuena.dev/einherjar/smtp"
|
||||||
|
|
||||||
mailer := smtp.New(logger, smtp.DefaultConfig())
|
mailer := smtp.New(logger, smtp.DefaultConfig())
|
||||||
launcher.Append(mailer) // OnInit verifies credentials; OnStop is a no-op
|
lc.Append(mailer) // OnInit verifies credentials; OnStop is a no-op
|
||||||
health.Register(mailer) // dial check; LevelDegraded
|
// 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.
|
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
|
// # Lifecycle Registration
|
||||||
//
|
//
|
||||||
// client := smtp.New(logger, cfg)
|
// client := smtp.New(logger, cfg)
|
||||||
// launcher.Register(client)
|
// lc.Append(client) // lifecycle: OnInit → OnStop
|
||||||
// health.Register(client)
|
//
|
||||||
|
// client satisfies [observability.Checkable], so it can back a health endpoint via
|
||||||
|
// web/health.NewHandler:
|
||||||
|
//
|
||||||
|
// srv.Get("/health", health.NewHandler(logger, client).ServeHTTP)
|
||||||
//
|
//
|
||||||
// # Sending
|
// # Sending
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -3,6 +3,6 @@ module code.nochebuena.dev/einherjar/smtp
|
|||||||
go 1.26
|
go 1.26
|
||||||
|
|
||||||
require (
|
require (
|
||||||
code.nochebuena.dev/einherjar/contracts v1.1.0
|
code.nochebuena.dev/einherjar/contracts v1.1.1
|
||||||
code.nochebuena.dev/einherjar/core v1.1.0
|
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.1 h1:MRQUR8Q1D4wIOUIz11vpAdsapWqFTMwr0/VRvWbGO3s=
|
||||||
code.nochebuena.dev/einherjar/contracts v1.1.0/go.mod h1:ccltUtrFb5+MEJdkx2VVEUL+xC5pupVlVVsMM8AlCWI=
|
code.nochebuena.dev/einherjar/contracts v1.1.1/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.1 h1:W6V/Peh1ffWjqZnBuBQLn4UGM+bgvWt9MQuktTEfDFw=
|
||||||
code.nochebuena.dev/einherjar/core v1.1.0/go.mod h1:Ot2JbjsnZ33Ed5C9Ev1kSn2PW+F4dLz/LRwIUh+fYt0=
|
code.nochebuena.dev/einherjar/core v1.1.1/go.mod h1:ninuZlnO178zC4rOdt5vjGojnlOpygP8cDorrecAeTY=
|
||||||
|
|||||||
Reference in New Issue
Block a user