summaryrefslogtreecommitdiff
path: root/cmd/ponzu/vendor/github.com/nilslice/email
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/ponzu/vendor/github.com/nilslice/email')
-rw-r--r--cmd/ponzu/vendor/github.com/nilslice/email/LICENSE21
-rw-r--r--cmd/ponzu/vendor/github.com/nilslice/email/README.md51
-rw-r--r--cmd/ponzu/vendor/github.com/nilslice/email/email.go119
-rw-r--r--cmd/ponzu/vendor/github.com/nilslice/email/email_test.go19
4 files changed, 0 insertions, 210 deletions
diff --git a/cmd/ponzu/vendor/github.com/nilslice/email/LICENSE b/cmd/ponzu/vendor/github.com/nilslice/email/LICENSE
deleted file mode 100644
index 6ac9da6..0000000
--- a/cmd/ponzu/vendor/github.com/nilslice/email/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2016 Steve Manuel
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/cmd/ponzu/vendor/github.com/nilslice/email/README.md b/cmd/ponzu/vendor/github.com/nilslice/email/README.md
deleted file mode 100644
index 190c61f..0000000
--- a/cmd/ponzu/vendor/github.com/nilslice/email/README.md
+++ /dev/null
@@ -1,51 +0,0 @@
-## 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: "me@server.name", // do not add < > or name in quotes
- 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
diff --git a/cmd/ponzu/vendor/github.com/nilslice/email/email.go b/cmd/ponzu/vendor/github.com/nilslice/email/email.go
deleted file mode 100644
index 15f0a49..0000000
--- a/cmd/ponzu/vendor/github.com/nilslice/email/email.go
+++ /dev/null
@@ -1,119 +0,0 @@
-package email
-
-import (
- "fmt"
- "net"
- "net/smtp"
- "strings"
-)
-
-// Message creates a email to be sent
-type Message struct {
- To string
- From string
- Subject string
- Body string
-}
-
-var (
- ports = []int{25, 2525, 587}
-)
-
-// Send sends a message to recipient(s) listed in the 'To' field of a Message
-func (m Message) Send() error {
- if !strings.Contains(m.To, "@") {
- return fmt.Errorf("Invalid recipient address: <%s>", m.To)
- }
-
- host := strings.Split(m.To, "@")[1]
- addrs, err := net.LookupMX(host)
- if err != nil {
- return err
- }
-
- c, err := newClient(addrs, ports)
- if err != nil {
- return err
- }
-
- err = send(m, c)
- if err != nil {
- return err
- }
-
- return nil
-}
-
-func newClient(mx []*net.MX, ports []int) (*smtp.Client, error) {
- for i := range mx {
- for j := range ports {
- server := strings.TrimSuffix(mx[i].Host, ".")
- hostPort := fmt.Sprintf("%s:%d", server, ports[j])
- client, err := smtp.Dial(hostPort)
- if err != nil {
- if j == len(ports)-1 {
- return nil, err
- }
-
- continue
- }
-
- return client, nil
- }
- }
-
- return nil, fmt.Errorf("Couldn't connect to servers %v on any common port.", mx)
-}
-
-func send(m Message, c *smtp.Client) error {
- if err := c.Mail(m.From); err != nil {
- return err
- }
-
- if err := c.Rcpt(m.To); err != nil {
- return err
- }
-
- msg, err := c.Data()
- if err != nil {
- return err
- }
-
- if m.Subject != "" {
- _, err = msg.Write([]byte("Subject: " + m.Subject + "\r\n"))
- if err != nil {
- return err
- }
- }
-
- if m.From != "" {
- _, err = msg.Write([]byte("From: <" + m.From + ">\r\n"))
- if err != nil {
- return err
- }
- }
-
- if m.To != "" {
- _, err = msg.Write([]byte("To: <" + m.To + ">\r\n"))
- if err != nil {
- return err
- }
- }
-
- _, err = fmt.Fprint(msg, m.Body)
- if err != nil {
- return err
- }
-
- err = msg.Close()
- if err != nil {
- return err
- }
-
- err = c.Quit()
- if err != nil {
- return err
- }
-
- return nil
-}
diff --git a/cmd/ponzu/vendor/github.com/nilslice/email/email_test.go b/cmd/ponzu/vendor/github.com/nilslice/email/email_test.go
deleted file mode 100644
index 3576a79..0000000
--- a/cmd/ponzu/vendor/github.com/nilslice/email/email_test.go
+++ /dev/null
@@ -1,19 +0,0 @@
-package email
-
-import (
- "testing"
-)
-
-func TestSend(t *testing.T) {
- m := Message{
- To: "",
- From: "",
- Subject: "",
- Body: "",
- }
-
- err := m.Send()
- if err != nil {
- t.Fatal("Send returned error:", err)
- }
-}