Go to file
Alexandre Cesaro 0002611a09 Removed obsolete text in README.md 2015-07-29 22:47:36 +02:00
LICENSE Initial commit 2014-10-15 17:47:07 +02:00
README.md Removed obsolete text in README.md 2015-07-29 22:47:36 +02:00
auth.go Removed LoginAuth and updated NewPlainDialer to handle LOGIN auth 2015-07-29 22:47:36 +02:00
auth_test.go Removed LoginAuth and updated NewPlainDialer to handle LOGIN auth 2015-07-29 22:47:36 +02:00
message.go Fixed commented examples 2015-07-29 22:47:36 +02:00
message_test.go Simplified variable name of Message 2015-07-29 22:47:36 +02:00
mime.go Lowered Go version requirement from 1.5 to 1.2 2015-07-29 22:47:36 +02:00
mime_go14.go Lowered Go version requirement from 1.5 to 1.2 2015-07-29 22:47:36 +02:00
send.go Simplified variable name of Message 2015-07-29 22:47:36 +02:00
send_test.go Replaced Message.Export by Message.WriteTo 2015-07-29 22:47:36 +02:00
smtp.go Simplified variable name of Message 2015-07-29 22:47:36 +02:00
smtp_test.go Replaced Message.Export by Message.WriteTo 2015-07-29 22:47:36 +02:00
writeto.go Lowered Go version requirement from 1.5 to 1.2 2015-07-29 22:47:36 +02:00

README.md

Gomail

Introduction

Gomail is a very simple and powerful package to send emails.

It requires Go 1.2 or newer.

Features

  • Dead-simple API
  • Highly flexible
  • Backward compatibility promise
  • Supports HTML and text templates
  • Attachments
  • Embedded images
  • SSL/TLS support
  • Automatic encoding of special characters
  • Well-documented
  • High test coverage

Documentation

https://godoc.org/gopkg.in/gomail.v1

Download

go get gopkg.in/gomail.v1

Example

package main

import (
	"gopkg.in/gomail.v1"
)

func main() {
	msg := gomail.NewMessage()
	msg.SetHeader("From", "alex@example.com")
	msg.SetHeader("To", "bob@example.com", "cora@example.com")
	msg.SetAddressHeader("Cc", "dan@example.com", "Dan")
	msg.SetHeader("Subject", "Hello!")
	msg.SetBody("text/html", "Hello <b>Bob</b> and <i>Cora</i>!")
	msg.Attach(gomail.NewFile("/home/Alex/lolcat.jpg"))

	d := gomail.NewPlainDialer("smtp.example.com", "user", "123456", 587)

	// Send the email to Bob, Cora and Dan
	if err := d.DialAndSend(msg); err != nil {
		panic(err)
	}
}

FAQ

x509: certificate signed by unknown authority

If you get this error it means the certificate used by the SMTP server is not considered valid by the client running Gomail. As a quick workaround you can bypass the verification of the server's certificate chain and host name by using SetTLSConfig:

d := gomail.NewPlainDialer("smtp.example.com", "user", "123456", 587)
d.TLSConfig = &tls.Config{InsecureSkipVerify: true}

Note, however, that this is insecure and should not be used in production.

Contact

You are more than welcome to open issues and send pull requests if you find a bug or need a new feature.

You can also ask questions on the Gomail thread in the Go mailing-list or via Twitter @alexandrecesaro.