diff options
author | Steve <nilslice@gmail.com> | 2016-11-16 02:51:26 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-16 02:51:26 -0800 |
commit | f252472047f86d1bdf956dc59b89541ea0260d68 (patch) | |
tree | 6c0d5938c21505325ad50446f5ebcd1483d6b278 /cmd/ponzu/vendor/github.com/nilslice/email/README.md | |
parent | 9a531ac701990bb932664039b11614227467e03a (diff) | |
parent | 6f5893828077eb0034dca01344f3742eb5cd5fa6 (diff) |
Merge pull request #17 from bosssauce/ponzu-dev
[core] Adding lifecycle hooks for Save, Delete, Approve, Reject
Diffstat (limited to 'cmd/ponzu/vendor/github.com/nilslice/email/README.md')
-rw-r--r-- | cmd/ponzu/vendor/github.com/nilslice/email/README.md | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/cmd/ponzu/vendor/github.com/nilslice/email/README.md b/cmd/ponzu/vendor/github.com/nilslice/email/README.md new file mode 100644 index 0000000..323004c --- /dev/null +++ b/cmd/ponzu/vendor/github.com/nilslice/email/README.md @@ -0,0 +1,51 @@ +## Email + +I needed a way to send email from a [Ponzu](https://ponzu-cms.org) installation +running on all kinds of systems without shelling out. `sendmail` or `postfix` et +al are not standard on all systems, and I didn't want to force users to add API +keys from a third-party just to send something like an account recovery email. + +### Usage: +`$ go get github.com/nilslice/email` + +```go +package main + +import ( + "fmt" + "github.com/nilslice/email" +) + +func main() { + msg := email.Message{ + To: "you@server.name", // do not add < > or name in quotes + From: "Name <me@server.name>", // ok to format in From field + Subject: "A simple email", + Body: "Plain text email body. HTML not yet supported, but send a PR!", + } + + err := msg.Send() + if err != nil { + fmt.Println(err) + } +} + +``` + +### Under the hood +`email` looks at a `Message`'s `To` field, splits the string on the @ symbol and +issues an MX lookup to find the mail exchange server(s). Then it iterates over +all the possibilities in combination with commonly used SMTP ports for non-SSL +clients: `25, 2525, & 587` + +It stops once it has an active client connected to a mail server and sends the +initial information, the message, and then closes the connection. + +Currently, this doesn't support any additional headers or `To` field formatting +(the recipient's email must be the only string `To` takes). Although these would +be fairly strightforward to implement, I don't need them yet.. so feel free to +contribute anything you find useful. + +#### Warning +Be cautious of how often you run this locally or in testing, as it's quite +likely your IP will be blocked/blacklisted if it is not already.
\ No newline at end of file |