diff options
author | Moritz Poldrack <git@moritz.sh> | 2024-01-22 18:28:17 +0100 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2024-01-25 21:55:23 +0100 |
commit | 0e592b28802fe7d972dac2b4958284b9eaf274a0 (patch) | |
tree | 8830a87ea58cdd7b65e07548e71e06195de4ae05 /lib/hooks | |
parent | 1980744f7bf9e147abf649d37a2fa7dddd4e7254 (diff) | |
download | aerc-0e592b28802fe7d972dac2b4958284b9eaf274a0.tar.gz |
hook: add mail-sent hook
Add a hook to trigger when a message is sent.
References: https://todo.sr.ht/~rjarry/aerc/136
Signed-off-by: Moritz Poldrack <git@moritz.sh>
Tested-by: Bence Ferdinandy <bence@ferdinandy.com>
Acked-by: Robin Jarry <robin@jarry.cc>
Diffstat (limited to 'lib/hooks')
-rw-r--r-- | lib/hooks/mail-sent.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/hooks/mail-sent.go b/lib/hooks/mail-sent.go new file mode 100644 index 00000000..59edafa2 --- /dev/null +++ b/lib/hooks/mail-sent.go @@ -0,0 +1,31 @@ +package hooks + +import ( + "fmt" + + "git.sr.ht/~rjarry/aerc/config" + "github.com/emersion/go-message/mail" +) + +type MailSent struct { + Account string + Header *mail.Header +} + +func (m *MailSent) Cmd() string { + return config.Hooks.MailSent +} + +func (m *MailSent) Env() []string { + from, _ := mail.ParseAddress(m.Header.Get("From")) + env := []string{ + fmt.Sprintf("AERC_ACCOUNT=%s", m.Account), + fmt.Sprintf("AERC_FROM_NAME=%s", from.Name), + fmt.Sprintf("AERC_FROM_ADDRESS=%s", from.Address), + fmt.Sprintf("AERC_SUBJECT=%s", m.Header.Get("Subject")), + fmt.Sprintf("AERC_TO=%s", m.Header.Get("To")), + fmt.Sprintf("AERC_CC=%s", m.Header.Get("Cc")), + } + + return env +} |