Open EtienneBruines opened 9 years ago
The raw data should be saved - probably by calling the Mailstore which can then write it to a database or file system.
The message should have a 32bit IMAP uid assigned to it and also flags:
// Message flags
const (
// The message has been read
Seen = 1 << iota
// The message has been answered
Answered
// The message has been flagged for urgent/special attention
Flagged
// The message has been marked for removal by EXPUNGE
Deleted
// The message is imcomplete and is being worked on
Draft
// The message has recently arrived in the mailbox
Recent
)
var messageFlags = map[uint8]string{
Seen: `\Seen`,
Answered: `\Answered`,
Flagged: `\Flagged`,
Deleted: `\Deleted`,
Draft: `\Draft`,
Recent: `\Recent`,
}
According to #29 I've implemented a way for our server to receive incoming emails from Postfix (SMTP server), using the LMTP protocol. This means we can serve actual emails to end-users.
What we receive from Postfix:
We should probably have an interface that stores this information, so anyone can implement it any way they like. The message should go inside the "mailboxes" of the recipients, so we can eventually serve them to the end-users. Should we do any preprocessing? (such as timestamp, name of sender, name of receiver, optional subject, etc.) -- and if so, which attributes?
Or do we simply store the raw data somewhere?
Thoughts? @alienscience @waffle-iron (or anyone for that matter?)