mirror of
https://github.com/jhillyerd/inbucket.git
synced 2025-12-17 09:37:02 +00:00
storage: Store addresses as mail.Address for #69
This commit is contained in:
@@ -22,8 +22,8 @@ type Message struct {
|
||||
// Stored in GOB
|
||||
Fid string
|
||||
Fdate time.Time
|
||||
Ffrom string
|
||||
Fto []string
|
||||
Ffrom *mail.Address
|
||||
Fto []*mail.Address
|
||||
Fsubject string
|
||||
Fsize int64
|
||||
// These are for creating new messages only
|
||||
@@ -71,12 +71,12 @@ func (m *Message) Date() time.Time {
|
||||
}
|
||||
|
||||
// From returns the value of the Message From header
|
||||
func (m *Message) From() string {
|
||||
func (m *Message) From() *mail.Address {
|
||||
return m.Ffrom
|
||||
}
|
||||
|
||||
// To returns the value of the Message To header
|
||||
func (m *Message) To() []string {
|
||||
func (m *Message) To() []*mail.Address {
|
||||
return m.Fto
|
||||
}
|
||||
|
||||
@@ -220,19 +220,17 @@ func (m *Message) Close() error {
|
||||
// Only public fields are stored in gob, hence starting with capital F
|
||||
// Parse From address
|
||||
if address, err := mail.ParseAddress(body.GetHeader("From")); err == nil {
|
||||
m.Ffrom = address.String()
|
||||
m.Ffrom = address
|
||||
} else {
|
||||
m.Ffrom = body.GetHeader("From")
|
||||
m.Ffrom = &mail.Address{Address: body.GetHeader("From")}
|
||||
}
|
||||
m.Fsubject = body.GetHeader("Subject")
|
||||
|
||||
// Turn the To header into a slice
|
||||
if addresses, err := body.AddressList("To"); err == nil {
|
||||
for _, a := range addresses {
|
||||
m.Fto = append(m.Fto, a.String())
|
||||
}
|
||||
m.Fto = addresses
|
||||
} else {
|
||||
m.Fto = []string{body.GetHeader("To")}
|
||||
m.Fto = []*mail.Address{{Address: body.GetHeader("To")}}
|
||||
}
|
||||
|
||||
// Refresh the index before adding our message
|
||||
|
||||
@@ -36,8 +36,8 @@ type Store interface {
|
||||
type StoreMessage interface {
|
||||
Mailbox() string
|
||||
ID() string
|
||||
From() string
|
||||
To() []string
|
||||
From() *mail.Address
|
||||
To() []*mail.Address
|
||||
Date() time.Time
|
||||
Subject() string
|
||||
RawReader() (reader io.ReadCloser, err error)
|
||||
|
||||
@@ -74,15 +74,15 @@ func (m *MockMessage) ID() string {
|
||||
}
|
||||
|
||||
// From mock function
|
||||
func (m *MockMessage) From() string {
|
||||
func (m *MockMessage) From() *mail.Address {
|
||||
args := m.Called()
|
||||
return args.String(0)
|
||||
return args.Get(0).(*mail.Address)
|
||||
}
|
||||
|
||||
// To mock function
|
||||
func (m *MockMessage) To() []string {
|
||||
func (m *MockMessage) To() []*mail.Address {
|
||||
args := m.Called()
|
||||
return args.Get(0).([]string)
|
||||
return args.Get(0).([]*mail.Address)
|
||||
}
|
||||
|
||||
// Date mock function
|
||||
|
||||
Reference in New Issue
Block a user