Documentation ¶
Overview ¶
Package email is designed to provide an "email interface for humans." Designed to be robust and flexible, the email package aims to make sending email easy without getting in the way.
Index ¶
- Constants
- Variables
- type Attachment
- type Decorator
- type Email
- func (e *Email) Attach(r io.Reader, filename string, c string) (a *Attachment, err error)
- func (e *Email) AttachFile(filename string) (a *Attachment, err error)
- func (e *Email) Bytes() ([]byte, error)
- func (e *Email) Send(addr string, a smtp.Auth) error
- func (e *Email) SendWithTLS(addr string, a smtp.Auth, t *tls.Config) error
- type Pool
Constants ¶
const (
MaxLineLength = 76 // MaxLineLength is the maximum line length per RFC 2045
)
Variables ¶
var ( ErrClosed = errors.New("pool closed") ErrTimeout = errors.New("timed out") )
var ErrMissingBoundary = errors.New("No boundary found for multipart entity")
ErrMissingBoundary is returned when there is no boundary given for a multipart entity
var ErrMissingContentType = errors.New("No Content-Type found for MIME entity")
ErrMissingContentType is returned when there is no "Content-Type" header for a MIME entity
Functions ¶
This section is empty.
Types ¶
type Attachment ¶
type Attachment struct { Filename string Header textproto.MIMEHeader Content []byte }
Attachment is a struct representing an email attachment. Based on the mime/multipart.FileHeader struct, Attachment contains the name, MIMEHeader, and content of the attachment in question
type Email ¶
type Email struct { Decorators []Decorator ReplyTo []string From string To []string Bcc []string Cc []string Subject string Text []byte // Plaintext message (optional) HTML []byte // Html message (optional) Sender string // override From as SMTP envelope sender (optional) Headers textproto.MIMEHeader Attachments []*Attachment ReadReceipt []string }
Email is the type used for email messages
func NewEmailFromReader ¶
NewEmailFromReader reads a stream of bytes from an io.Reader, r, and returns an email struct containing the parsed data. This function expects the data in RFC 5322 format.
func (*Email) Attach ¶
Attach is used to attach content from an io.Reader to the email. Required parameters include an io.Reader, the desired filename for the attachment, and the Content-Type The function will return the created Attachment for reference, as well as nil for the error, if successful.
func (*Email) AttachFile ¶
func (e *Email) AttachFile(filename string) (a *Attachment, err error)
AttachFile is used to attach content to the email. It attempts to open the file referenced by filename and, if successful, creates an Attachment. This Attachment is then appended to the slice of Email.Attachments. The function will then return the Attachment for reference, as well as nil for the error, if successful.
func (*Email) Bytes ¶
Bytes converts the Email object to a []byte representation, including all needed MIMEHeaders, boundaries, etc.
type Pool ¶
type Pool struct {
// contains filtered or unexported fields
}
func (*Pool) Close ¶
func (p *Pool) Close()
Close immediately changes the pool's state so no new connections will be created, then gets and closes the existing ones as they become available.