Go to file
Mateusz Czapliński d7294067b8 Fix to emit at most 76 chars per line
From RFC 2045 (and also from looking at other packages), it appears that
line length limit is actually 76 characters, not 78. Also, this fixes
attachments broken before for a certain webmail client (roundcube).

Closes #18.
2015-01-20 15:11:08 +01:00
LICENSE Initial commit 2014-10-15 17:47:07 +02:00
README.md Fixed the Go version requirement 2014-10-23 15:31:55 +02:00
export.go Fix to emit at most 76 chars per line 2015-01-20 15:11:08 +01:00
gomail.go Fixed a bug when embedding multiple files. 2014-12-23 11:23:01 +01:00
gomail_test.go Fix to emit at most 76 chars per line 2015-01-20 15:11:08 +01:00
mailer.go Fixed the "from" and "to" inputs of the SendMail function 2014-10-23 18:46:32 +02:00
send.go Added support for SMTPS 2014-10-22 17:55:36 +02:00
send_test.go Added support for SMTPS 2014-10-22 17:55:36 +02:00

README.md

Gomail

Introduction

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

It requires Go 1.3 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>!")

	f, err := gomail.OpenFile("/home/Alex/lolcat.jpg")
	if err != nil {
		panic(err)
	}
	msg.Attach(f)

	// Send the email to Bob, Cora and Dan
	mailer := gomail.NewMailer("smtp.example.com", "user", "123456", 587)
	if err := mailer.Send(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:

mailer := gomail.NewMailer("smtp.example.com", "user", "123456", 587, gomail.SetTLSConfig(&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.