Skip to content
This repository has been archived by the owner on Apr 24, 2020. It is now read-only.
/ mail Public archive
forked from alexcesaro/mail

Mail packages for Go

License

Notifications You must be signed in to change notification settings

toggl/mail

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DEPRECATED

This fork was created as a workaround for the library limitations at the time and should not be used anymore.

The current community-maintaned fork should be used instead: https://github.com/go-mail/mail


This repository contains mail packages for Go:

  • gomail is the main package of this repository, it provides a simple interface to easily write and send emails.
  • mailer provides functions to easily send emails. It should be used with or inside a package that helps writing emails like it is done in gomail.
  • quotedprintable is a package that implements quoted-printable and message header encoding. Someday, it might enter the Go standard library.

You are more than welcome to ask questions on the Go mailing-list and open issues here if you find bugs.

gomail

Documentation

Package gomail provides a simple interface to easily write and send emails.

Example:

package main

import (
    "log"

    "github.com/alexcesaro/mail/gomail"
)

func main() {
    msg := gomail.NewMessage()
    msg.SetAddressHeader("From", "[email protected]", "Alex")
    msg.SetHeader("To", "[email protected]")
    msg.AddHeader("To", "[email protected]")
    msg.SetHeader("Subject", "Hello!")
    msg.SetBody("text/plain", "Hello Bob and Cora!")
    msg.AddAlternative("text/html", "Hello <b>Bob</b> and <i>Cora</i>!")
    if err := msg.Attach("/home/Alex/lolcat.jpg"); err != nil {
        log.Println(err)
        return
    }

    m := gomail.NewMailer("smtp.example.com", "user", "123456", 25)
    if err := m.Send(msg); err != nil { // This will send the email to Bob and Cora
        log.Println(err)
    }
}

mailer

Documentation

Package mailer provides functions to easily send emails.

This package can be used as a standalone but if you want to send emails with non-ASCII characters or with attachment you should use it with or inside a package that helps writing emails like it is done in gomail.

package main

import (
    "log"
    "net/mail"
    "strings"

    "github.com/alexcesaro/mail/mailer"
)

func main() {
    msg := &mail.Message{
        mail.Header{
            "From":         {"[email protected]"},
            "To":           {"[email protected]", "[email protected]"},
            "Subject":      {"Hello!"},
            "Content-Type": {"text/plain"},
        },
        strings.NewReader("Hello, how are you ?"),
    }

    m := mailer.NewMailer("smtp.example.com", "user", "123456", 25)
    if err := m.Send(msg); err != nil { // This will send the email to Bob and Cora
        log.Println(err)
    }
}

quotedprintable

Documentation

Package quotedprintable implements quoted-printable and message header encoding as specified by RFC 2045 and RFC 2047.

Someday, it might enter the Go standard library. See this post on the golang-dev mailing-list or this code review or issue 4943 of the Go bug tracker.

About

Mail packages for Go

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%