1
0
Fork 0
mirror of https://git.sr.ht/~rjarry/aerc synced 2025-02-23 07:53:59 +01:00
aerc/lib/hooks/mail-received.go
Bence Ferdinandy fd35044023 hooks: add AERC_ACCOUNT_BACKEND to hooks with AERC_ACCOUNT
It can be good to know the backend used for an account in a hook. Add
this information to all hooks that already pass the account name along.

Changelog-added: Added `AERC_ACCOUNT_BACKEND` to hooks with
 `AERC_ACCOUNT`.
Signed-off-by: Bence Ferdinandy <bence@ferdinandy.com>
Acked-by: Robin Jarry <robin@jarry.cc>
2024-06-05 08:41:13 +02:00

34 lines
814 B
Go

package hooks
import (
"fmt"
"git.sr.ht/~rjarry/aerc/config"
"git.sr.ht/~rjarry/aerc/models"
)
type MailReceived struct {
Account string
Backend string
Folder string
Role string
MsgInfo *models.MessageInfo
}
func (m *MailReceived) Cmd() string {
return config.Hooks.MailReceived
}
func (m *MailReceived) Env() []string {
from := m.MsgInfo.Envelope.From[0]
return []string{
fmt.Sprintf("AERC_ACCOUNT=%s", m.Account),
fmt.Sprintf("AERC_ACCOUNT_BACKEND=%s", m.Backend),
fmt.Sprintf("AERC_FOLDER=%s", m.Folder),
fmt.Sprintf("AERC_FROM_NAME=%s", from.Name),
fmt.Sprintf("AERC_FROM_ADDRESS=%s", from.Address),
fmt.Sprintf("AERC_SUBJECT=%s", m.MsgInfo.Envelope.Subject),
fmt.Sprintf("AERC_MESSAGE_ID=%s", m.MsgInfo.Envelope.MessageId),
fmt.Sprintf("AERC_FOLDER_ROLE=%s", m.Role),
}
}