Documentation
¶
Overview ¶
Package email provides test helpers for constructing raw RFC 2822 email messages.
Index ¶
- func AssertStringSliceEqual(t *testing.T, got, want []string, label string)
- func MakeRaw(opts Options) []byte
- type Attachment
- type MessageBuilder
- func (b *MessageBuilder) Bcc(v string) *MessageBuilder
- func (b *MessageBuilder) Body(v string) *MessageBuilder
- func (b *MessageBuilder) Boundary(v string) *MessageBuilder
- func (b *MessageBuilder) Bytes() []byte
- func (b *MessageBuilder) CRLF() *MessageBuilder
- func (b *MessageBuilder) Cc(v string) *MessageBuilder
- func (b *MessageBuilder) ContentType(v string) *MessageBuilder
- func (b *MessageBuilder) Date(v string) *MessageBuilder
- func (b *MessageBuilder) From(v string) *MessageBuilder
- func (b *MessageBuilder) Header(key, value string) *MessageBuilder
- func (b *MessageBuilder) HeaderAppend(key, value string) *MessageBuilder
- func (b *MessageBuilder) NoSubject() *MessageBuilder
- func (b *MessageBuilder) Subject(v string) *MessageBuilder
- func (b *MessageBuilder) To(v string) *MessageBuilder
- func (b *MessageBuilder) WithAttachment(filename, contentType string, data []byte) *MessageBuilder
- type Options
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AssertStringSliceEqual ¶
AssertStringSliceEqual compares two string slices with a descriptive label.
Types ¶
type Attachment ¶
type Attachment struct {
Filename string
ContentType string
Data []byte // raw bytes; will be base64-encoded
}
Attachment represents a MIME attachment for the builder.
type MessageBuilder ¶
type MessageBuilder struct {
// contains filtered or unexported fields
}
MessageBuilder constructs MIME messages with a fluent API. By default, messages use \n line endings matching Go raw string literals.
func NewMessage ¶
func NewMessage() *MessageBuilder
NewMessage creates a MessageBuilder with sensible defaults.
func (*MessageBuilder) Bcc ¶
func (b *MessageBuilder) Bcc(v string) *MessageBuilder
Bcc sets the Bcc header.
func (*MessageBuilder) Body ¶
func (b *MessageBuilder) Body(v string) *MessageBuilder
Body sets the message body text.
func (*MessageBuilder) Boundary ¶
func (b *MessageBuilder) Boundary(v string) *MessageBuilder
Boundary sets the multipart boundary string.
func (*MessageBuilder) Bytes ¶
func (b *MessageBuilder) Bytes() []byte
Bytes builds the complete MIME message.
func (*MessageBuilder) CRLF ¶
func (b *MessageBuilder) CRLF() *MessageBuilder
CRLF switches to \r\n line endings (RFC 2822 compliant).
func (*MessageBuilder) Cc ¶
func (b *MessageBuilder) Cc(v string) *MessageBuilder
Cc sets the Cc header.
func (*MessageBuilder) ContentType ¶
func (b *MessageBuilder) ContentType(v string) *MessageBuilder
ContentType overrides the Content-Type header (for non-multipart messages).
func (*MessageBuilder) Date ¶
func (b *MessageBuilder) Date(v string) *MessageBuilder
Date sets the Date header.
func (*MessageBuilder) From ¶
func (b *MessageBuilder) From(v string) *MessageBuilder
From sets the From header.
func (*MessageBuilder) Header ¶
func (b *MessageBuilder) Header(key, value string) *MessageBuilder
Header sets an arbitrary header. If the key already exists, its value is overwritten (last-write-wins); otherwise the header is appended.
func (*MessageBuilder) HeaderAppend ¶
func (b *MessageBuilder) HeaderAppend(key, value string) *MessageBuilder
HeaderAppend adds a header without deduplication, allowing multiple lines with the same key (e.g., multiple Received headers).
func (*MessageBuilder) NoSubject ¶
func (b *MessageBuilder) NoSubject() *MessageBuilder
NoSubject omits the Subject header from the output.
func (*MessageBuilder) Subject ¶
func (b *MessageBuilder) Subject(v string) *MessageBuilder
Subject sets the Subject header. Use NoSubject() to omit it entirely.
func (*MessageBuilder) To ¶
func (b *MessageBuilder) To(v string) *MessageBuilder
To sets the To header.
func (*MessageBuilder) WithAttachment ¶
func (b *MessageBuilder) WithAttachment(filename, contentType string, data []byte) *MessageBuilder
WithAttachment adds an attachment to the message.