MCPcopy Index your code
hub / github.com/go-gomail/gomail

github.com/go-gomail/gomail @2.0.0 sqlite

repository ↗ · DeepWiki ↗ · release 2.0.0 ↗
172 symbols 585 edges 13 files 38 documented · 22% 1 cross-repo links
README

Gomail

Build Status Code Coverage Documentation

Introduction

Gomail is a simple and efficient package to send emails. It is well tested and documented.

It is versioned using gopkg.in so I promise they will never be backward incompatible changes within each version.

It requires Go 1.2 or newer. With Go 1.5, no external dependencies are used.

Features

Gomail supports: - Attachments - Embedded images - HTML and text templates - Automatic encoding of special characters - SSL and TLS - Sending multiple emails with the same SMTP connection - Any method to send emails: SMTP, postfix (not included but easily doable), etc

Documentation

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

Download

go get gopkg.in/gomail.v2

Examples

See the examples in the documentation.

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.

Contribute

Contributions are more than welcome! See CONTRIBUTING.md for more info.

Change log

See CHANGELOG.md.

License

MIT

Contact

You can ask questions on the Gomail thread in the Go mailing-list.

Support

If you want to support the development of Gomail, I gladly accept donations.

I will give 100% of the money I receive to Enfants, Espoir Du Monde. EEDM is a French NGO which helps children in Bangladesh, Cameroun, Haiti, India and Madagascar.

All its members are volunteers so its operating costs are only 1.9%. So your money will directly helps children of these countries.

As an added bonus, your donations will also tip me by lowering my taxes :smile:

I will send an email with the receipt of the donation to EEDM annually to all donors.

Donate

Extension points exported contracts — how you extend this code

SendCloser (Interface)
SendCloser is the interface that groups the Send and Close methods. [4 implementers]
send.go
MessageSetting (FuncType)
A MessageSetting can be used as an argument in NewMessage to configure an email.
message.go
Sender (Interface)
Sender is the interface that wraps the Send method. Send sends an email to the given addresses. [1 implementers]
send.go
FileSetting (FuncType)
A FileSetting can be used as an argument in Message.Attach or Message.Embed.
message.go
SendFunc (FuncType)
A SendFunc is a function that sends emails to the given adresses. The SendFunc type is an adapter to allow the use of o
send.go

Core symbols most depended-on inside this repo

SetHeader
called by 42
message.go
SetBody
called by 21
message.go
NewMessage
called by 16
message.go
Attach
called by 12
message.go
Close
called by 10
smtp.go
writeString
called by 9
writeto.go
SetHeaders
called by 7
message.go
SetAddressHeader
called by 7
message.go

Shape

Function 77
Method 71
Struct 15
FuncType 3
Interface 3
TypeAlias 3

Languages

Go100%

Modules by API surface

message.go32 symbols
message_test.go24 symbols
smtp_test.go22 symbols
smtp.go21 symbols
example_test.go20 symbols
writeto.go19 symbols
send.go12 symbols
auth_test.go10 symbols
send_test.go7 symbols
auth.go3 symbols
mime_go14.go1 symbols
mime.go1 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

For agents

$ claude mcp add gomail \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact