mailq-inspector/mailq/queue.go

35 lines
554 B
Go
Raw Normal View History

2019-01-01 16:02:04 +01:00
package mailq
import (
2019-01-01 21:11:39 +01:00
"errors"
"fmt"
2019-01-01 16:02:04 +01:00
"time"
)
type MailQ struct {
NumTotal int
NumActive int
NumHold int
NumDeferred int
Entries []QEntry
}
2019-01-01 16:02:04 +01:00
type QEntry struct {
Id string
Status string
Date time.Time
Size int
Sender string
Recipients []string
Reason string
}
2019-01-01 21:11:39 +01:00
func (q MailQ) GetMessageById(id string) (QEntry, error) {
for _, entry := range q.Entries {
if entry.Id == id {
return entry, nil
}
}
return QEntry{}, errors.New(fmt.Sprintf("No message with id '%s' available!", id))
}