34 lines
733 B
Go
34 lines
733 B
Go
package hooks
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"git.sr.ht/~rjarry/aerc/config"
|
|
"github.com/emersion/go-message/mail"
|
|
)
|
|
|
|
type MailSent struct {
|
|
Account string
|
|
Backend 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_ACCOUNT_BACKEND=%s", m.Backend),
|
|
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
|
|
}
|