1
0
mirror of https://github.com/jhillyerd/inbucket.git synced 2025-12-18 18:17:03 +00:00
Files
go-inbucket/smtpd/datastore.go
James Hillyerd 01f6ad514b Started impl DELE
2013-09-12 15:55:45 -07:00

37 lines
717 B
Go

package smtpd
import (
"github.com/jhillyerd/go.enmime"
"io"
"net/mail"
"time"
)
type DataStore interface {
MailboxFor(emailAddress string) (Mailbox, error)
AllMailboxes() ([]Mailbox, error)
}
type Mailbox interface {
GetMessages() ([]Message, error)
GetMessage(id string) (Message, error)
NewMessage() Message
String() string
}
type Message interface {
Id() string
From() string
Date() time.Time
Subject() string
RawReader() (reader io.ReadCloser, err error)
ReadHeader() (msg *mail.Message, err error)
ReadBody() (msg *mail.Message, body *enmime.MIMEBody, err error)
ReadRaw() (raw *string, err error)
Append(data []byte) error
Close() error
Delete() error
String() string
Size() int64
}